【发布时间】:2021-01-12 14:16:34
【问题描述】:
我认为我对正则表达式中正向 Lookbehind 的工作方式有一些误解,这里有一个例子:
12,2 g this is fully random
89 g random string 2
0,6 oz random stuff
1 really random stuff
假设我想匹配测量单位之后的所有内容,所以我想要“这是完全随机的”、“随机字符串 2”、“随机的东西”和真正的“随机的东西”。
为了做到这一点,我尝试了以下模式:
(?<=(\d(,\d)?) (g|oz)?).*
但是作为“?”表示 0 或 1,在这种情况下,模式似乎将 0 优先于 1 - 所以我得到:
但测量单位必须保持“可选”,因为它不必在字符串中(参见第四个实例)...
关于如何处理该问题的任何想法?谢谢!
【问题讨论】:
标签: regex regex-lookarounds regex-greedy