【问题标题】:Java RegEx Match; underscore before first decimal pointJava 正则表达式匹配;第一个小数点前的下划线
【发布时间】:2020-07-03 01:46:37
【问题描述】:

我正在尝试找到一个 Java 正则表达式,它将匹配第一个小数点“。”实例之前的“_”。以下似乎对我不起作用:

_(?=[0-9][0-9]\.)

任何人都知道我可以如何做到这一点?例如:

文件名:

Hello_World_5_01.00.0000

我想匹配字符“5_01”之间的“_”。...请记住,上面是一个示例文件名,并且会有所不同,但一个常量将是实例之前的“_”第一个“。” (小数点)与文件名本身无关。任何帮助表示赞赏。

【问题讨论】:

  • 你想要 java 还是 javaScript ?请清楚你的标签
  • 你想提取什么?您可以在您的问题中添加minimal reproducible example 吗?
  • 我正在寻找 Javascript 的 javaregex,除了文件名中第一个小数点之前出现的下划线的模式匹配之外,我并没有完全尝试提取任何其他内容。我上面的例子表明我想匹配“5_01”之间的“_”。在文件名“Hello_World_5_01.00.0000”中

标签: javascript node.js regex scripting pattern-matching


【解决方案1】:

您可以匹配直到第一次出现下划线并将其捕获到一个组中。

然后匹配后面的 1+ 个数字,一个点,如果后面必须有一个数字,你也可以匹配。

^.*?(_)\d+\.\d

Regex demo

const regex = /^.*?(_)\d+\.\d/;
const str = `Hello_World_5_01.00.0000`;
console.log(str.match(regex)[1]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多