1

我有这个正则表达式

((.*?)(\(.*?\))|(.*?)) 

我想删除 | 因为我认为有更好的方法来匹配这个。这是我希望它匹配的一些示例字符串

myString

myString(1234)

如果它有括号,我想将括号的内容作为单独的捕获组捕获。它永远不必捕获这两种类型的字符串。

4

2 回答 2

3

由于该(...)部分是可选的,因此您也可以将与其匹配的子正则表达式设为可选:

((.*?)(\(.*?\))?)  
于 2012-05-03T12:47:16.457 回答
0

只需使用

.*?(\(.*?\))?

这使得括号部分是可选的,.*?如果括号部分不存在,第一个将匹配所有内容。

于 2012-05-03T12:48:11.323 回答