【发布时间】:2021-10-06 06:48:52
【问题描述】:
我有这样的源文本,中间有一个可选组:
GH22-O0-TFS-SFSD 00-1-006.19135
GH22-O0-TFS-SFSD 00-1-006.1.19135
第一种情况下的期望值为“19135”,第二种情况下为“1.19135”。
正则表达式必须匹配整个字符串并选择第一个“。”之后的所有字符。 - 这是我的第 1 组。我尝试创建子组并将第 3 组标记为可选,但它不起作用。
正则表达式:
.*\.0*(([0-9])(\.0*([0-9]+)))
应如何更改以获取所需的值?
【问题讨论】:
-
第一个周期后得到所有东西? regexr.com/3elkd
-
建议的解决方案不行,因为正如我所提到的:正则表达式应该匹配整个文本并选择值作为一个组。
-
您似乎需要锚点、开头的惰性点图案和可选的非捕获组。