Java正则表达式忽略/注释掉正则表达式的一部分[重复]
Posted
技术标签:
【中文标题】Java正则表达式忽略/注释掉正则表达式的一部分[重复]【英文标题】:Java Regex ignoring/commenting out part of regex [duplicate] 【发布时间】:2018-08-24 18:17:42 【问题描述】:我已经搜索了很多关于如何忽略 RegEx 表达式的一部分。原因如下。
正则表达式示例:
".*atan2\\(.*\\).*"
它会像这样检测函数'atan2':
string.matches("return atan2(45, 23)")
但是当我引入另一个字符串时:
string.matches("return atan2("+Integer.valueOf(XInString)+", 58)")
如果 XInString 看起来像这样:45.7
正则表达式将受到那个点的影响,因为正则表达式看起来像那样:"return atan2(45.7, 58)"
并且 5 和 7 之间的点是正则表达式的一部分。有没有办法忽略那部分?
例如:
string.matches("return atan2([45.7], 58)")
([和]之间的字符串是我不希望正则表达式读取的)
【问题讨论】:
【参考方案1】:...5 到 7 之间的点是正则表达式的一部分。有没有办法 忽略那部分?
是的,您可以像这样使用Pattern.quote(XInString)
转义该点:
"return atan2(" + Pattern.quote(XInString) + ", 58)"
【讨论】:
以上是关于Java正则表达式忽略/注释掉正则表达式的一部分[重复]的主要内容,如果未能解决你的问题,请参考以下文章