随机字母/符号的正则表达式

时间:2013-02-18 03:29:01

标签: java regex

我使用正则表达式生成器和检查器搜索了几个小时,但我似乎无法让它工作......

我有这个字符串: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 ..

任何建议?

由于 马特

2 个答案:

答案 0 :(得分:0)

因为你注意到你正在使用javascript,我认为你可以这样做,因为你不能使用lookbehind;你只需抓住捕获组而不是使用完全匹配。

cl\\([23].*?(\\d{9})

答案 1 :(得分:0)

/cl\([23].*(\d{9})/

最后的括号将捕获第1组中的9位数。