正则表达式在匹配组中不包含零宽度断言

时间:2019-03-14 16:26:07

标签: python regex python-3.x

当字符串为B / C,B / O,S / C或S / O时,我将以下内容重新更新为不匹配。

(.*)/(.*)

新:(.*)(?<!^(B|S)(?=/(C|O)$))/(.*)

此正则表达式正与其他正则表达式模式列表一起在下游使用,并有望将数据分为两组。我的正则表达式模式(或更好的模式)是否可以不计算零宽度的断言?

我尝试过使用单向后置断言将验证推到最后,但只能在斜杠后访问该组。

我也尝试将断言放在(?:...)中,但内部括号仍计入匹配组。

1 个答案:

答案 0 :(得分:0)

感谢@ user2357112

(.*)(?<!^(?:B|S)(?=/(?:C|O)$))/(.*)

我第一次尝试使用(?:...)时不正确