我是正则表达式的新手,但需要将它用于任务,如果有人可以帮助我,我真的很感激。
我有一个字符串,可能在末尾包含一个括号括起的文本。
Something like these:
product1
product2 (enclosed text)
another product (some more enclosed text)
one more product
...
我需要将字符串分成两组。 如果没有括号,则第一个是括号前的文本或整个文本。
第二组是括号内的文本,它应该是可选的。
我尝试了(.*)(\(.*\))?
,但是第一组捕获了整个字符串,包括括号。
答案 0 :(得分:3)
如果您的语言支持:
(.*?)(\(.*\))?
*?
使其成为“不情愿”的匹配(而不是“贪婪”的匹配)。
否则,如果您能保证永远不会有任何偏离的括号:
([^\(\)]*)(\(.*\))?
答案 1 :(得分:1)
<(。))(* /?)这是非常简单的答案