String pat = "^(?!US\\b)(\\w{2})(.*)$";
Pattern pattern = Pattern.compile(pat);
Matcher matcher = pattern.matcher("US 123");
while (matcher.find()) {
System.out.println(matcher.group(1));
}
为什么我不能用Java做到这一点?我用什么来匹配Java RegExp中的开始和结束元字符呢?
答案 0 :(得分:0)
你的问题不清楚。您似乎正在尝试匹配字母US
后跟边界字符。在这种情况下,您可以使用:
String pat = "(\\w{2}\\b)(.*)";
开始&在这种情况下,当你使用Matcher#find
答案 1 :(得分:0)
我认为你期望在这里找到匹配(group(1)= 123)但是你正在做的负面预测^(?!US\\b)
将不会通过,因为字符串以{{1}开头}}。这也证明了输入元字符的起始US
和结束^
在Java中正则表达式正常工作。