【发布时间】:2021-02-24 17:35:07
【问题描述】:
我想构建可以匹配下一个可能性的正则表达式模式匹配器:
11
2.5
ca. 111g
ca. 120 g Case
11 Kilograms
12.5-125.0 g
ca. 120% g
在这种情况下,我应该始终成为 4 组(以“ca. 12.5-125.0% g”为例):
- ca. (数字之前的所有内容)
- 12.5-125.0 ()
- g (单位)
- % (数字后的任何特殊符号)
我已经构建了这个正则表达式,但是在上述所有情况下它都不能正常工作:
(\d*[.]?[-]?\d+(?:\s*|\s+))(\w*)(\D)。例如,组并非每次都正确构建,有时“g”落在第三组,有时在第四组......
【问题讨论】:
-
试试
(?:([a-zA-Z]+)\.\s*)?(\d+(?:\.\d+)?(?:\s*-\s*\d+(?:\.\d+)?)?)([^\w\s]*)\s*([a-zA-Z]*)(demo) -
请提供示例说明哪些输入无法按您希望的方式工作。
标签: regex