首页  >  文章  >  后端开发  >  我们能否在正则表达式中实现真正的可变长度向后查找?

我们能否在正则表达式中实现真正的可变长度向后查找?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-02 10:05:02872浏览

 Can We Achieve True Variable-Length Lookbehind in Regular Expressions?

正则表达式的可变长度回顾断言替代

正则表达式中的可变长度回顾断言,用 (?

带有正则表达式模块的 Python

Python 正则表达式模块提供对可变长度后向断言的支持。

<code class="python">import regex

m = regex.search('(?<!foo.*)bar', 'f00bar')
print(m.group())  # Output: bar</code>

K 令牌

现代正则表达式引入了 K 令牌,它确保其之前的匹配字符不包含在匹配中。

s/unchanged-part\Kchanged-part/new-part/x

限制

虽然 K 提供了一些向后查找功能,但它无法删除特定点之前的字符或在表达式中多次使用。

增强的正则表达式实现

除了 Python 的正则表达式之外,还有其他增强的正则表达式Perl、Ruby、JavaScript 和 PHP 可能存在正则表达式实现。研究这些替代方案可能会为处理可变长度后向断言提供额外的选项。

问题

  • K 的效果可以扩展到比赛中的特定点吗?
  • Perl、Ruby、JavaScript 或 PHP 是否有任何增强的正则表达式实现支持可变长度后向断言?

以上是我们能否在正则表达式中实现真正的可变长度向后查找?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn