【问题标题】:Java Regex ignoring/commenting out part of regex [duplicate]Java正则表达式忽略/注释掉正则表达式的一部分[重复]
【发布时间】: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)")

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

【问题讨论】:

    标签: java regex string


    【解决方案1】:

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

    是的,您可以像这样使用Pattern.quote(XInString) 转义该点:

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

    【讨论】:

      猜你喜欢
      • 2020-02-02
      • 2020-03-31
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 2014-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多