Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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正则表达式spot子字符串,以特定字符开头,后跟一些数字_Java_Regex - Fatal编程技术网

Java正则表达式spot子字符串,以特定字符开头,后跟一些数字

Java正则表达式spot子字符串,以特定字符开头,后跟一些数字,java,regex,Java,Regex,我试图找到一个类似于'abcxxx'的正则表达式模式(x是数字,作为一个例子,我们有5个x),以便在另一个字符串中发现任何类似的子字符串 使用上述正则表达式 ABC12345 or ABC09090 or ABC 54321 etc. 他们都是对手 有人能帮我吗 谢谢 还是不行!这就是我根据你的回答所尝试的: 我的文本是 Fwd: Fwd: kam rran 2323242 ojdwohejf ABC12345 dewfwe 代码是: String regex = "ABC\\s*\\d{5

我试图找到一个类似于'abcxxx'的正则表达式模式(x是数字,作为一个例子,我们有5个x),以便在另一个字符串中发现任何类似的子字符串

使用上述正则表达式

ABC12345 or
ABC09090 or
ABC 54321 etc.
他们都是对手

有人能帮我吗

谢谢

还是不行!这就是我根据你的回答所尝试的: 我的文本是

Fwd: Fwd: kam rran 2323242 ojdwohejf ABC12345 dewfwe
代码是:

String regex = "ABC\\s*\\d{5}";

java.util.regex.Pattern pattern = java.util.regex.Pattern.compile(
                 regex, 
                 java.util.regex.Pattern.CASE_INSENSITIVE
);

Matcher m = pattern.matcher(subject);

if (m.find()) {
   this.setThat(m.group());
}

但它没有通过if条件

您可以尝试以下正则表达式:

ABC\s*\d{5}
  • ABC
    =>匹配字母ABC的顺序
  • \s*
    =>匹配一个或多个空白字符
  • \d{5}
    =>匹配5位数字

注意:不要忘记在代码中用“\”转义“\”。

对于
ABC
,后跟任意数字:

Pattern pat = Pattern.compile("ABC\\s*\\d+");
或具体为5位数字:

Pattern pat = Pattern.compile("ABC\\s*\\d{5}");
这个正则表达式“ABC[0-9]{5}”应该会有所帮助。它将匹配前缀“ABC”,后跟任何数字


您可能想对
ABC

之后的任意数量的数字使用
“ABC[0-9]+”
,只需添加一点,ABC部分是固定的。我希望它在字符串中的任何位置都能被发现,即使是以[ABC12345]或{ABC12312}或(ABC98763)等形式出现。请查看此演示:ABC和数字之间可以出现空格