0

我正在尝试匹配这样的模式:

TR @(任何数量的单词字符都在这里):

所以模式以 TR 开头,然后是一个空格,然后是 @,然后是任何字符,并以 a 结尾:

这是我的正则表达式:Pattern p = Pattern.compile("TR\\s@[\\w]+:");

它正在工作,例如将失败:

TR @abcnews:

我认为我的错误在于空格。

4

1 回答 1

1

演示

正则表达式:TR\s+@(\w+):

这甚至会反向引用文本,它接受 TR 和 @ 之间的多个空格,因此它对您来说非常有用,先生。

编辑它正常工作的java代码:

Matcher ma = Pattern.compile("TR\\s+@(\\w+):").matcher("TR    @asdfasd:");
while (ma.find()) {
    System.out.println(ma.group(1));
}
于 2012-10-30T23:13:48.073 回答