【问题标题】:How to write a generic Regex for the case below: [duplicate]如何为以下情况编写通用正则表达式:[重复]
【发布时间】:2020-07-31 23:41:55
【问题描述】:

所以我有一个场景,我需要从这个字符串中提取所有数字,现在我遇到的问题是逗号或实际数字本身之间可能存在空格。我怎样才能写一个通用的regex 来只提取数字。我目前的情况如下:

测试字符串:

<classifier id="box-geometry" value="476,736,703,997" />
<classifier id="box-geometry" value="476,736,703, 997" />
<classifier id="box-geometry" value="476, 736, 703, 997" />

尝试的正则表达式:value="(\d+),(\d+),(\d+),(\d+)"

示例:https://regex101.com/r/se0dwk/1/

如您所见,只有第一个字符串匹配各自捕获组中的所有数字。

任何帮助将不胜感激。

谢谢!

【问题讨论】:

  • 只需在数字前添加可选空格:\s*(\d+)

标签: regex


【解决方案1】:

您的正则表达式模式缺少可选空格。尝试包括:

value="(\d+),\s*(\d+),\s*(\d+),\s*(\d+)"

查看下面的演示。

Demo

【讨论】:

  • 非常感谢。缺少可选部分,我无法弄清楚。
  • 必须再等 10 分钟才能接受这个答案。 S.O 强制执行的某种约束
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
  • 2010-10-11
  • 2021-09-21
  • 1970-01-01
相关资源
最近更新 更多