使用java正则表达式当模式包含左括号时如何替换所有
我有一个看起来像这样的字符串: mynum(1234) 和 mynum( 123) 和 mynum ( 12345 ) 以及最后的 mynum(#123)
我想在括号中的数字前面插入一个 #
所以我有: mynum(#1234) 和 mynum(#123) 和 mynum (#12345) 最后是 mynum(#123)
我该怎么做? 使用正则表达式模式匹配器和 replaceAll
会阻塞数字前面的 (
,我得到一个
java.util.regex.PatternSyntaxException:附近的未封闭组
异常。
I have a string that looks like this:mynum(1234) and mynum( 123) and mynum ( 12345 ) and lastly mynum(#123)
I want to insert a #
in front of the numbers in parenthesis so I have:mynum(#1234) and mynum( #123) and mynum ( #12345 ) and lastly mynum(#123)
How can I do this?
Using regex pattern matcher and a replaceAll
chokes on the (
in front of the number and I get an
java.util.regex.PatternSyntaxException: Unclosed group near ...
exception.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试:
一个小解释:
将每个模式:替换
为子字符串:
其中 $0 保存与整个正则表达式匹配的文本。
Try:
A small explanation:
Replace every pattern:
with the sub-string:
Where $0 holds the text that is matched by the entire regex.