4 回答

TA貢獻1848條經驗 獲得超2個贊
貪婪'意味著匹配最長的字符串。
'懶惰'意味著匹配最短的字符串。
例如,貪婪的h.+l
比賽'hell'
中'hello'
,但懶惰的h.+?l
比賽'hel'
。

TA貢獻1784條經驗 獲得超7個贊
+-------------------+-----------------+------------------------------+
| Greedy quantifier | Lazy quantifier | Description |
+-------------------+-----------------+------------------------------+
| * | *? | Star Quantifier: 0 or more |
| + | +? | Plus Quantifier: 1 or more |
| ? | ?? | Optional Quantifier: 0 or 1 |
| {n} | {n}? | Quantifier: exactly n |
| {n,} | {n,}? | Quantifier: n or more |
| {n,m} | {n,m}? | Quantifier: between n and m |
+-------------------+-----------------+------------------------------+
加一個?一個量詞使它不合適,即懶惰。
實施例:
測試字符串:計算器
貪婪reg表達式:s.*o
輸出:stackoverflo瓦特
懶惰reg表達式:s.*?o
輸出:stacko verflow

TA貢獻1852條經驗 獲得超1個贊
貪婪意味著你的表達式將盡可能地匹配一個組,懶惰意味著它將匹配可能的最小組。對于這個字符串:
abcdefghijklmc
這個表達式:
a.*c
貪婪的匹配將匹配整個字符串,而惰性匹配將匹配第一個abc
。
- 4 回答
- 0 關注
- 1012 瀏覽
添加回答
舉報