java - 匹配事件 ID 的正则表达式(不那么贪婪)

标签 java regex

我编写了一个基本的正则表达式来匹配任何特定事件 ID 4727|4731|4759|4744|4749

我遇到的问题是它匹配在超过 4 个字符的非标准事件中找到的模式。

EventID=2147498949

编写正则表达式的最佳方式是什么,以便它仅匹配 5 个特定事件并忽略其他任何内容?

最佳答案

有几种方法可以解决这个问题。

如果 EventID= 一直存在,如下所示:

  • EventID=2147498949
  • EventID=4731

你总是可以选择这样的东西:

EventID=(4727|4731|4759|4744|4749)$
  • $ 字符串结尾

但除此之外,你可以选择类似的东西:

\b(4727|4731|4759|4744|4749)\b
  • \b 是单词边界

Here's an example

也就是说,您要查找的 4 位数字符串前后应该有一个单词边界。

关于java - 匹配事件 ID 的正则表达式(不那么贪婪),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41810795/

相关文章:

javascript - 使用正则表达式查找并替换字符串中的每个第二个反引号

regex - 使用 RegEx 检查空格

java - 将基于服务器的产品的 Java 开发迁移到 64 位有什么主要优势吗?

java - 如何从 spring-security 源代码构建示例

java - 如何确定两个参数是否是相同但未知类的实例?

javascript - 如何用链接替换纯 URL?

c# - 从字符串中获取特定的单词c#

Javascript 替换不带特殊字符的精确匹配

javascript - 如何将 .js 文件包含到项目的所有 jsp 页面中而不对其进行编辑?

java - 使用 CompositeFeatureCollection 的 FeatureJSON