以下正则表达式匹配以字母a开头的、以字母b结束的、长度为2或者3的字符串。此时,这是一种贪婪匹配。
a.?b (52)
以下正则表达式匹配以字母a开头的、以字母b结束的、长度为3的字符串。此时,这是一种懒惰匹配。
a.??b (53)
正则表达式a.??b在匹配过程中,字母a和字母b之间的字符要么出现,要么最多出现1次。使用工具Regex Tester分别测试正则表达式(52)和(53),结果分别如图(52)和(53)所示。
以下正则表达式匹配以字母a开头的、以字母b结束的、长度至少为3的字符串。此时,这是一种贪婪匹配。
a.{1,}b (54)
以下正则表达式匹配以字母a开头的、以字母b结束的、长度至少为3的字符串。此时,这是一种懒惰匹配。
a.{1,}?b (55)
正则表达式a.{1,}?b在匹配过程中,字母a和字母b之间的字符串实际上只重复了1次。如果将正则表达式a.{1,}b应用于字符串“avbab”,则匹配字符串“avbab”。如果将正则表达式a.{1,}?b应用于字符串“avbab”,则匹配字符串“avb”,而不会匹配字符串“avbab”。使用工具Regex Tester分别测试正则表达式(54)和(55),结果分别如图2.18和2.19所示。