//gskinner.com/RegExr/?32taa
ArrayList result = new ArrayList();
for(int i = 0; i <= 10; i++){
String message = resp.data.get(i).message; Matcher m = MY_PATTERN.matcher("\b(?=[^\d]*\d[^\d]*)[A-Z\d]{4}\b"); while (m.find()) { String s = m.group(1); result.add(s); }
}
但是,当我将我的regexp模式传递给matcher方法时,出现错误:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
我需要换\d一封信吗?
\d
您的代码有两个问题:
您的格式错误,因为它允许更多位数-请参阅http://regexr.com?32u3e
Java需要双转义斜线…
使用正则表达式模式
\\b(?=[A-Z]*\\d[A-Z]*\\b)[A-Z\\d]{4}\\b