」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 我們能否在正規表示式中實現真正的可變長度向後尋找?

我們能否在正規表示式中實現真正的可變長度向後尋找?

發佈於2024-11-15
瀏覽:864

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

正規表示式的可變長度回顧斷言替代方案

正規表示式中的可變長度回顧斷言,用(?

具有正規表示式模組的 Python

Python 正規表示式模組提供可變長度後向斷言的支援。

import regex

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

\K 令牌

現代正規表示式引入了\K 令牌,它確保其先前的匹配字元不包含在匹配中。

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

限制

雖然\K 提供一些lookbehind功能,它不能刪除特定點之前的字符或在表達式中多次使用。

增強的正規表示式實作

除了Python的正規表示式之外,可能還有其他增強的正規表示式實作適用於 Perl、Ruby、JavaScript 和 PHP。研究這些替代方案可能會為處理可變長度後向斷言提供額外的選項。

問題

  • \K 的效果可以擴展到配對中的特定點嗎?
  • Perl、Ruby、JavaScript 或 PHP 是否有支援可變長度後向查找的增強正規表示式實作斷言?
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3