Java正则表达式模式匹配

发布于 2024-12-01 09:39:10 字数 391 浏览 0 评论 0原文

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

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

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

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

I am developing a text highlighter in a file using the java regex pattern matching. Following is a code snapshot of it

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

in here "preprocessedModifiedArrayList.get(i)" contains the query to be searched in the text of the file. I have a problem that when the "preprocessedModifiedArrayList.get(i)" has "+" sign in it(example: if it is an equation) , it returns the dangling + exception.

I want to know how can I deal with this problem

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

残疾 2024-12-08 09:39:10

您可以 quote it:

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

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

You may quote it:

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

Quoting will escape every special character in the pattern so that they behave as normal characters (like +).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文