我的正则表达式有问题。我有这样的字符串:
test(r), testtest(r,r), example, example2, exmp (r,5)
我想在文本和括号之间找到所有没有空格的单词。从上面的字符串中,我想得到:
test(r), testtest(r,r)
我创建了这个正则表达式,但它只捕获了包含内容的括号:
/\(([^\)]+)\)/g
感谢所有答案。
编辑:
我在Ruby工作,这个正则表达式完美地工作/\w+\(([^)]+)\)/g
。
如果我想在括号和逗号之间用逗号分隔单词,我该怎么办?例如,我如何得到这个?
testtest(r,r) <-with comma
test(r) <-without comma
答案 0 :(得分:4)
您可以在模式前添加\w+
:
/\w+\(([^)]+)\)/g
这将匹配一个或多个“字”字符(包括字母,数字和下划线),后跟(
,后跟)
以外的任何字符中的一个或多个,后跟)
。
如果您想知道想要能够分别捕获括号前面出现的单词,可以将它放在这样的组中:
/(\w+)\(([^)]+)\)/g
在您的示例中,这将为第1组提供第1组:test
和第2组:r
,第1组为testtest
和第2组:r,r
第二场比赛。
答案 1 :(得分:1)
最近我自己也有同样的问题。这样做解决了我的问题:
(\w+\([\w, ]+\))
希望它有所帮助!
答案 2 :(得分:0)
这样的事情:
/\w+\(\w([,]\w)?\)/g