[英]What does the “+0” mean in the regexp \k<name+0>?
我是Ruby中的正則表達式的新手,我似乎無法找到關於\\k<name+0>
含義的任何可靠文檔。 這是我沒有得到的+0
部分。
這是一個例子 - 這個Regexp匹配回文:
\A(?<p>(?:(?<l>\w)\g<p>\k<l+0>|\w))\z
當我刪除\\k<l+0>
中的+0
,它不再正確匹配。
我的測試:
>> /\A(?<p>(?:(?<l>\w)\g<p>\k<l+0>|\w))\z/.match "aabbcdcbbaa"
#=> #<MatchData "aabbcdcbbaa" p:"aabbcdcbbaa" l:"c">
>> /\A(?<p>(?:(?<l>\w)\g<p>\k<l>|\w))\z/.match "aabbcdcbbaa"
#=> nil
我所做的就是刪除+0
。 我還沒有找到任何文件或這方面的例子,有人能指出我正確的方向嗎?
\\k<l+0>
與(?<l>\\w)
一起使用
(?<l>\\w)
的匹配存儲在名為'l'
的捕獲組中
\\k<l+0>
匹配指定捕獲組'l'
匹配的相同文本,當它處於相同的遞歸級別時,此反向引用現在
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.