Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 三个以上连续字符的正则表达式_Java_Regex_Regular Language - Fatal编程技术网

Java 三个以上连续字符的正则表达式

Java 三个以上连续字符的正则表达式,java,regex,regular-language,Java,Regex,Regular Language,我需要检查字符串(仅限数字和字母组合) 包含的连续字符不得超过3个(仅限字符)。例如: abcd-不允许 AbCd-不允许 abc3-允许 abcr-允许 PQR-不允许 PQR-不允许 pqra-允许 aaaa-不允许 qqq-不允许 aaab-允许 qw-允许 1234-允许 1111-允许 请帮助我找到此表达式的正确正则表达式。说明 此表达式将查找: 按字母顺序排列的四个或更多连续字母(例如:abcd,tuvwxyz) 四个以上或连续的相同字母(例如:aaaa,qqqfdadas) 以

我需要检查字符串(仅限数字和字母组合) 包含的连续字符不得超过3个(仅限字符)。例如:

abcd-不允许

AbCd-不允许

abc3-允许

abcr-允许

PQR-不允许

PQR-不允许

pqra-允许

aaaa-不允许

qqq-不允许

aaab-允许

qw-允许

1234-允许

1111-允许

请帮助我找到此表达式的正确正则表达式。

说明 此表达式将查找:

  • 按字母顺序排列的四个或更多连续字母(例如:
    abcd
    tuvwxyz
  • 四个以上或连续的相同字母(例如:
    aaaa
    qqqfdadas
以下代码:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::�吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切切"h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |{3}*

Java代码示例: 输入文本

abcd - not allowed
AbCd - not allowed
abc3 - allowed
abcr - allowed
PQRS - not allowed
pqrs - not allowed
pqra - allowed
aaaa - not allowed
qqqq - not allowed
aaab - allowed
qqqw - allowed
1234 - allowed
1111 - allowed
代码

import java.util.regex.Pattern;
import java.util.regex.Matcher;
class Module1{
  public static void main(String[] asd){
  String sourcestring = "source string to match with pattern";
  Pattern re = Pattern.compile("^(?:(?!(?:abcd|bcde|cdef|defg|efgh|fghi|ghij|hijk|ijkl|jklm|klmn|lmno|mnop|nopq|opqr|pqrs|qrst|rstu|stuv|tuvw|uvwx|vwxy|wxyz|(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)\\1{3})).)*",Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
  Matcher m = re.matcher(sourcestring);
  int mIdx = 0;
    while (m.find()){
      for( int groupIdx = 0; groupIdx < m.groupCount()+1; groupIdx++ ){
        System.out.println( "[" + mIdx + "][" + groupIdx + "] = " + m.group(groupIdx));
      }
      mIdx++;
    }
  }
}
代码(Python) 结果
abcr-允许
和此
pqra-允许
与您的要求相矛盾。本次比赛是否应该匹配?我没有任何想法,但<代码>我没有想法,我没有想法,但<代码>我(我)我(我)我)我(我)abcd(我)abcd(我)abcd(我)abcd(我)abcd(我)abcd(我)abcd(我)abcd(我)ABC)abcd(我)abcd)abcd(我)abcd(我)bcde)bcde(卡德德)卡德德(CD)卡德基)CDEFF(我)CDEFF(我)CDEFF(EFF)EFG(EFG(EFG)EFG(EFG)EFG(EFG)EFG(EFGGGH)EFG(EFG)EFG(EFGHGHGHGH)EFG(EFGHGHGH)EFGHGH)FGGGGGGGGH(我)FGH)FGH)FGGH(FGGHHHHHHHHHOVE rstu dy123“作为密码,它将失败,因为我有连续的字母。还有,为什么不允许使用特殊字符?无论如何,你都需要对密码进行哈希运算。我强烈建议你回顾一下你的战略,并检查一下你的战略和一些令人敬畏的答案。因此,我的高度建议你审查一下你的战略,检查一下你的战略,并检查一下你的战略上的一些令人敬畏的答案。你的战略。我的高度建议你审查一下你的战略,检查一下你的战略,并检查一下你的战略上这里的一些令人如此如此如此。<代码>(我)我)我(我)我)你的你的你的战略,我的高度建议你,你的你的战略。我的高度高度建议你。你。你。我的你。你。你。你。我的。我的。我的。你。你。你。我的。你。我的。我。你。你。我的。你。我。我。我的。我。我。我。我。我。我。我。我的。我。我。我。我。我。我。我。我。我。我。我。我。我。我。我。我。我。我。| bcde | cdef | defg | efgh | fghi | ghij | hijk | ijkl | jklm | klmn | lmno | mnop | nopq | opqr|‌​“QQQQQ码方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方| y | z)->
([a-z])
@denosk,我来检查一下。希望它能起作用。:-)@falsetru,打得好,这是另一种捕捉任何信件的方式。
$matches Array:
(
    [0] => Array
        (
            [0] => 
            [1] => 
            [2] => abc3 - allowed
            [3] => abcr - allowed
            [4] => 
            [5] => 
            [6] => pqra - allowed
            [7] => 
            [8] => 
            [9] => aaab - allowed
            [10] => qqqw - allowed
            [11] => 1234 - allowed
            [12] => 1111 - allowed
        )

    [1] => Array
        (
            [0] => 
            [1] => 
            [2] => 
            [3] => 
            [4] => 
            [5] => 
            [6] => 
            [7] => 
            [8] => 
            [9] => 
            [10] => 
            [11] => 
            [12] => 
        )

)
import re

pattern_for_invalid_string = re.compile(
    r'(?i)' +
    r'^' +
    r'abcd|bcde|cdef|defg|efgh|fghi|ghij|hijk|ijkl|jklm|klmn|lmno|' +
    r'mnop|nopq|opqr|pqrs|qrst|rstu|stuv|tuvw|uvwx|vwxy|wxyz|' +
    r'([a-z])\1{3}' +
    r'$')

def check(s):
    return pattern_for_invalid_string.search(s) == None

for s in 'abcd AbCd abc3 abcr PQRS pqrs pqra aaaa qqqq aaab qqqw 1234 1111'.split():
    allowed = 'allowed' if check(s) else 'not allowed'
    print('{} - {}'.format(s, allowed))
abcd - not allowed
AbCd - not allowed
abc3 - allowed
abcr - allowed
PQRS - not allowed
pqrs - not allowed
pqra - allowed
aaaa - not allowed
qqqq - not allowed
aaab - allowed
qqqw - allowed
1234 - allowed
1111 - allowed