我有以下句子:共10项(26)
我想根据“总数”这个词提取数字26,50。我带着积极的外观来到这里,但现在我被困住了。 (?<=total )(.*)(?=\d)
答案 0 :(得分:0)
你不需要向后看。使用群组:
https://regex101.com/r/oC0dM3/2
total\s+(?P<COUNT>\d+)\s+item(?:\(s\))?\s+(?P<PRICE>\d+(?:,\d+)?)
答案 1 :(得分:0)
许多正则表达式引擎不支持变量可变长度Look,在这些情况下,如果使用lookbehind,你的Regex效率会非常低。
改为使用模式分组:
^total[^)]+\)\s+(.*)$
此处唯一捕获的组是您想要的部分。
^total[^)]+\)\s+
匹配到所需模式之前的最后一个空格
(.*)$
获得我们想要的部分