【发布时间】:2012-05-27 20:21:26
【问题描述】:
我正在寻找一个正则表达式来拆分包含 () 的字符串。
这就是我所拥有的
String regex = "(?=\\()|()"
第一部分是正确的,它以“(”开头。我需要第二部分以“)”结尾,但如果“)”后面有数字,则需要以数字结尾。
示例 Fe2(CH3)2(CH2O)(CH3)
这需要拆分成
Fe2
(CH3)2
(CH2O)
(CH3)
“)”后面的数字可以是一位数也可以是两位数。
例如,我还需要将 Fe(C5H5)2O4(CH3) 拆分为
铁
(C5H5)2
O4
(CH3)
【问题讨论】:
-
正则表达式是强制性的吗?因为我认为根据需要使用正则表达式拆分字符串不是最佳选择。分隔符似乎始终为
(,因此您可以使用indexOf("(")和substring轻松拆分字符串。 -
拆分是有条件的,取决于 ) 或 )#