java中正则匹配的贪婪模式和非贪婪模式

来源:互联网 发布:ubuntu server配置 编辑:程序博客网 时间:2024/06/16 02:34

贪婪模式和非贪婪模式指的是在正则匹配过程中的行为,在贪婪模式下,匹配最长的匹配值。非贪婪模式下,匹配最短的匹配值。

不是所有的NFA都支持非贪婪模式匹配。

    JAVA的Pattern支持贪婪和非贪婪模式,通过不同的表达式来区分:


贪婪模式的书写方式有:

X?X,一次或一次也没有X*X,零次或多次X+X,一次或多次X{n}X,恰好 nX{n,}X,至少 nX{n,m}X,至少 n 次,但是不超过 m

非贪婪模式的书写方式有:

X??X,一次或一次也没有X*?X,零次或多次X+?X,一次或多次X{n}?X,恰好 nX{n,}?X,至少 nX{n,m}?X,至少 n 次,但是不超过 m