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 关注
- 968 浏览
添加回答
举报