(为这个令人困惑的标题道歉,不知道如何措辞更好)
给定此示例文本:
保存10%在所有项目时...
有时也可以是这样的:
另外,20%的折扣就在今天。
(the文本永远不会同时包含两个句子)
我想获取其中一个百分比值。我尝试了这个模式:/(\d{1,2})% off|Save (\d{1,2})%/
但10
在组索引2中,20
在组索引1中
我希望它在同一组索引下捕获,例如:
matches = text.match(/(\d{1,2})% off|Save (\d{1,2})%/)
// matches[1] == '10'
// or
// matches[1] == '20'
1条答案
按热度按时间byqmnocz1#
您可以尝试匹配以下正则表达式。
Demo
如果没有负后看,
(?<!\d)
"123456% off"
(例如)将被匹配。该表达式可以分解如下。