1.贪婪模式与非贪婪模式

  如:String str="abcaxc";

    Patter p="ab.*c";

  贪婪匹配:正则表达式趋向于最大长度的匹配。如用上面模式p匹配str,得到abcaxc;

  非贪婪匹配:匹配的结果是最少的匹配字符长度,如用上面模式p匹配str,得到abc

 

2.编程中如何区分两种模式

   默认是贪婪模式;在量词后面直接加个?就是非贪婪模式

    量词:{m,n} m到n个

        *:任意多个

        +:一到多个

        ?:0或一个

3.例子:java中用正则表达式截取字符串中第一个出现的英文左括号之前的字符串。比如:北京市(海淀区)(朝阳区)(西城区),截取结果为:北京市。正则表达式为:“.*?(?=\\()”

    (?=Experssion)顺序环视,(?=\\()就是匹配正括号

 

引用:https://www.cnblogs.com/xudong-bupt/p/3586889.html