【问题标题】:Java Regex pattern matchingJava 正则表达式模式匹配
【发布时间】:2011-08-23 16:01:09
【问题描述】:

我正在使用 java 正则表达式模式匹配在文件中开发文本荧光笔。以下是它的代码快照

SearchQuery=preprocessedModifiedArrayList.get(i)+[\\w\\s\\W]*?";
pattern = Pattern.compile(SearchQuery);
Matcher matcher = pattern.matcher(EXAMPLE_TEST);

这里的“preprocessedModifiedArrayList.get(i)”包含要在文件文本中搜索的查询。我有一个问题,当“preprocessedModifiedArrayList.get(i)”中有“+”号时(例如:如果它是一个方程),它返回悬空+异常。

我想知道我该如何处理这个问题

【问题讨论】:

  • 我想你忘了一个" - ...+"[\\w\\s\\W]*?";

标签: java regex pattern-matching


【解决方案1】:

你可以quote它:

SearchQuery=Pattern.quote(preprocessedModifiedArrayList.get(i))+"[\\w\\s\\W]*?";

引号将转义模式中的每个特殊字符,以便它们表现得像普通字符(如 +)。

【讨论】:

    猜你喜欢
    • 2016-04-24
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多