限定符用于指定字符或子表达式出现的次数或位置。
限定符指定在输入字符串中必须存在上一个元素(可以是字符、组或字符类)的多少个示例才能出现匹配项。 限定符包括下表中列出的语言元素。
下表列出了限定符:
限定符 | 描述 | 模式 | 匹配 |
* | 匹配上一个元素零次或多次。 | \d*\.\d | ".0"、 "19.9"、 "219.9" |
| 匹配上一个元素一次或多次。 | "be " | "been" 中的 "bee", "bent" 中的 "be" |
? | 匹配上一个元素零次或一次。 | "rai?n" | "ran"、 "rain" |
{ n } | 匹配上一个元素恰好 n 次。 | ",\d{3}" | "1,043.6" 中的 ",043", "9,876,543,210" 中的 ",876"、 ",543" 和 ",210" |
{ n ,} | 匹配上一个元素至少 n 次。 | "\d{2,}" | "166"、 "29"、 "1930" |
{ n , m } | 匹配上一个元素至少 n 次,但不多于 m 次。 | "\d{3,5}" | "166", "17668", "193024" 中的 "19302" |
*? | 匹配上一个元素零次或多次,但次数尽可能少。 | \d*?\.\d | ".0"、 "19.9"、 "219.9" |
? | 匹配上一个元素一次或多次,但次数尽可能少。 | "be ?" | "been" 中的 "be", "bent" 中的 "be" |
?? | 匹配上一个元素零次或一次,但次数尽可能少。 | "rai??n" | "ran"、 "rain" |
{ n }? | 匹配前导元素恰好 n 次。 | ",\d{3}?" | "1,043.6" 中的 ",043", "9,876,543,210" 中的 ",876"、 ",543" 和 ",210" |
{ n ,}? | 匹配上一个元素至少 n 次,但次数尽可能少。 | "\d{2,}?" | "166"、 "29" 和 "1930" |
{ n , m }? | 匹配上一个元素的次数介于 n 和 m 之间,但次数尽可能少。 | "\d{3,5}?" | "166", "17668", "193024" 中的 "193" 和 "024" |
限定符可以根据具体的需求组合使用,以实现更复杂的模式匹配。在使用限定符时,需要注意它们的贪婪和非贪婪模式,以及可能的回溯和性能问题。
在C#的正则表达式中,限定符有两种模式:贪婪模式和非贪婪模式。
在C#中,可以使用 ? 符号将限定符转换为非贪婪模式。例如,*?、 ?、??、{n,}? 等都表示非贪婪模式的限定符。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved