问号 (?)
问号 (?) 匹配前面的字符 0 次或 1 次。
例如,10? 可以匹配:
- 1
- 10
匹配最后一段为一位或两位数字的 IP 地址。
例如,216\.239\.32\.\d\d? 可以匹配:
- 216.239.32.2
- 216.239.32.34
上例中使用反斜杠对小数点转义,使用 \d 匹配任意位数字。
加号 (+)
加号 (+) 匹配前面的字符 1 次或多次。
例如,10+ 可以匹配:
- 10
- 100
- 1000
- 等等
匹配最后一段为一位或多位数字的 IP 地址。
例如,216\.239\.32\.\d+ 可以匹配:
- 216.239.32.2
- 216.239.32.34
- 216.239.32.567
上例中使用反斜杠对小数点转义,使用 \d 匹配任意位数字。
星号 (*)
星号 (*) 匹配前面的字符 0 次或多次。
例如,10* 可以匹配:
- 1
- 10
- 100
- 1000
- 等等
匹配最后一段为一位或多位数字的 IP 地址。
例如,216\.239\.32\.\d* 可以匹配:
- 216.239.32.2
- 216.239.32.34
- 216.239.32.567
上例中使用反斜杠对小数点转义,使用 \d 匹配任意位数字。
如果您想匹配的不仅仅是前面的项,则可以一起使用星号与点 (.*)。点可以匹配前面的任何项,而星号将匹配该项 0 次或多次,这样您就可以匹配以相同字符开始和结束的所有 URI 了,无论开头和结尾字符之间夹着多少字符,您也可以匹配与这类似的内容。例如,/mens/.*html 可以匹配:
- /mens/shirts/oxford.html
- /mens/shirts/oxford/shortsleeve.html