java - 非贪婪正则表达式模式 Java

标签 java regex

我要匹配线 /* 注释 183 EOC */

或者 /* 注释 183,200 EOC */

我的正则表达式如下

 private static final Pattern Comment = Pattern
        .compile("(/\\*(\\s*)Comment(\\s+)(((\\d*),)(\\s*))*((\\d*)(\\s*))(.*?)\\*/)");

我想从上面的输入中得到183

如果我尝试 matcher.group(4) 它什么都不返回。

(.*?) 不是非贪婪的。

如何更改正则表达式以仅获得 183 或 183,200

最佳答案

你可以使用下面的正则表达式

\/\*\s+Comment\s+(\d+(,\d+)*)

Demo on regex101

只有captures你想要的数字。

关于java - 非贪婪正则表达式模式 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29203212/

相关文章:

java - 从属性文件创建动态 xml?

ruby - 匹配包含第一个字符不是数字的字母的字符串

javascript html 正则表达式

正则表达式区分两种类型的字符串

javascript - 如何在javascript中使用正则表达式生成包含正斜杠的字符串?

java - 在 FXML 中使用自定义 Swing 类

java - 数组未完整打印

java - 在 (Drools) 中抛出自定义异常

java - java 如何判断没有捕获到异常

regex - 如何在记事本中删除换行符并用逗号替换它们