我正在尝试找到像'ABCxxxxx'这样的正则表达式模式(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条件!!!!
答案 0 :(得分:3)
你可以试试这个正则表达式:
ABC\s*\d{5}
ABC
=>匹配字母序列ABC \s*
=>匹配一个或多个空白字符\d{5}
=>匹配5位数注意:不要忘记在代码中使用'\'转义'\'。
答案 1 :(得分:2)
对于ABC
后跟任意数字的数字:
Pattern pat = Pattern.compile("ABC\\s*\\d+");
或特别为5位数字:
Pattern pat = Pattern.compile("ABC\\s*\\d{5}");
答案 2 :(得分:1)
这个正则表达式"ABC[0-9]{5}"
应该会有所帮助。它将匹配前缀为“ABC”,后跟任何数字。
您可能希望在"ABC[0-9]+"
之后使用ABC
表示任意数量的数字。