python正则表达式问号用法
时间: 2024-05-08 07:14:03 浏览: 177
在正则表达式中,问号表示可选项,即匹配前面的字符0次或1次。具体来说,有以下两种用法:
1. 非贪婪模式:在其他限定符(如*、+、?、{n}、{n,}、{n,m})后面加上问号,可以使该限定符变成非贪婪模式,尽可能少地匹配字符。
例如,正则表达式"a.*?b"将会匹配最短的以"a"开始,以"b"结束的字符串,而不是最长的字符串。
2. 零宽断言:在某些情况下,我们需要匹配一个字符或者一组字符的前面或后面必须满足某个条件。这个时候就需要使用零宽断言。
问号后面跟着符号用于表示零宽度正预测先行断言。正预测先行断言用于判断所匹配的字符后面是否跟着指定的字符,但是不把指定的字符作为匹配结果。
例如,正则表达式"Windows(?=95|98|NT|2000)"将会匹配"Windows"后面跟着"95"、"98"、"NT"或者"2000"的字符串。
阅读全文