Java 正则表达式忽略/注释掉正则表达式的一部分

矩阵007

我已经搜索了很多关于如何忽略部分 RegEx 表达式的信息。这是为什么。

正则表达式示例:

".*atan2\\(.*\\).*"

它会像这样检测函数“atan2”:

string.matches("return atan2(45, 23)")

但是当我引入另一个字符串时:

string.matches("return atan2("+Integer.valueOf(XInString)+", 58)")

如果 XInString 看起来像这样:45.7regex 将受到那个点的影响,因为 regex 看起来像那样:"return atan2(45.7, 58)"并且 5 和 7 之间的点是 regex 的一部分。有没有办法忽略那部分?例如:

string.matches("return atan2([45.7], 58)")

( [ 和 ] 之间的字符串是我不希望正则表达式读取的内容)

YCF_L

... 5 和 7 之间的点是正则表达式的一部分。有没有办法忽略那部分?

是的,您可以使用以下方法转义该点Pattern.quote(XInString)

"return atan2(" + Pattern.quote(XInString) + ", 58)"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章