簡體   English   中英

如果以非貪婪的方式使用python中的正則表達式中的量詞{m,n},那么第二個限制的用途是什么?

[英]What is the use of second limit in the quantifier {m,n} in the regular expression in python if it used in a non-greedy way?

Python re.compile(r'\\w{3,5}?')的正則表達式將與具有至少三個非重疊字母數字和下划線字符的任何模式匹配。 我的問題是'第二個限制在量詞{3,5}的非貪婪使用中有任何用處,即即使五個被任何其​​他數字替換,結果也是相同的。 re.compile(r'\\w{3,5}?')=re.compile(r'\\w{3,6}?')=re.compile(r'\\w{3,7}?')=re.compile(r'\\w{3,}?')有人可以給我一個例子,其中第二個限制有用嗎?

當一個延遲量化的模式出現在模式的末尾時,它匹配它需要匹配的最小字符數量以返回一個值。 一個123(\\w*?)總是在組1中沒有產生任何值為*? 匹配零個或多個字符,但盡可能少

這意味着\\w{3,5}? 正則表達式將始終匹配3個字符,第二個參數將被“忽略”,因為它足以匹配單詞char的3次出現。

如果懶惰模式不在最后,則第二個參數很重要。

查看示例: Test: (\\w{3,5}?)-(\\d+)捕獲組1中不同數量的字符,具體取決於字符串中字符匹配的匹配方式。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM