我使用正则表达式生成器和检查器搜索了几个小时,但我似乎无法让它工作......
我有这个字符串:hdr("");cr(92);cl(3,"",4,"420720250","random message here");etr();
到目前为止我的代码是:
private void strchecker() {
Pattern pattern = Pattern.compile("(\\d{9})");
Matcher matcher = pattern.matcher(strLine);
if (matcher.find()) {
System.out.println(matcher.group(0)); //prints /{item}/
} else {
//System.out.println("Match not found");
}
}
此代码正常工作,它在字符串中找到9位数字。我试图做的是找到正则表达式代码来搜索“cl(3”或“cl(2”,如果它存在然后将9位数发送到变量。我只是不知道如何找到cl( 3或2 ..
任何建议?
由于 马特
答案 0 :(得分:0)
因为你注意到你正在使用javascript,我认为你可以这样做,因为你不能使用lookbehind;你只需抓住捕获组而不是使用完全匹配。
cl\\([23].*?(\\d{9})
答案 1 :(得分:0)
/cl\([23].*(\d{9})/
最后的括号将捕获第1组中的9位数。