您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

正则表达式的变长后置断言替代

正则表达式的变长后置断言替代

在大多数情况下,您可以使用来避免变长的回避\K

s/(?<=foo.*)bar/moo/s;

将会

s/foo.*\Kbar/moo/s;

负向后看有点棘手。

s/(?<!foo.*)bar/moo/s;

将会

s/^(?:(?!foo).)*\Kbar/moo/s;

因为(?:(?!STRING).)*STRING[^CHAR]*CHAR

如果您只是匹配,则可能甚至不需要\K

/foo.*bar/s

/^(?:(?!foo).)*bar/s
其他 2022/1/1 18:16:49 有431人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶