我已经搜索了很多关于如何忽略部分 RegEx 表达式的信息。这是为什么。
正则表达式示例:
".*atan2\\(.*\\).*"
它会像这样检测函数“atan2”:
string.matches("return atan2(45, 23)")
但是当我引入另一个字符串时:
string.matches("return atan2("+Integer.valueOf(XInString)+", 58)")
如果 XInString 看起来像这样:45.7
regex 将受到那个点的影响,因为 regex 看起来像那样:"return atan2(45.7, 58)"
并且 5 和 7 之间的点是 regex 的一部分。有没有办法忽略那部分?例如:
string.matches("return atan2([45.7], 58)")
( [ 和 ] 之间的字符串是我不希望正则表达式读取的内容)
... 5 和 7 之间的点是正则表达式的一部分。有没有办法忽略那部分?
是的,您可以使用以下方法转义该点Pattern.quote(XInString)
:
"return atan2(" + Pattern.quote(XInString) + ", 58)"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句