javaÕýÔò±í´ïʽÖеÄÊýÁ¿´Ê
javaÖеÄÕýÔòλÓÚjava.util.regex°üÖУ¬Õâ¸ö°üÖÐÖ»ÓÐÒ»¸öMatchResult½Ó¿ÚºÍMatcher¡¢PatternÁ½¸öÀà¡£
ÕýÔòÖеÄÊýÁ¿´ÊÓÐGreedy (̰À·)¡¢Reluctant(ÀÁ¶è)ºÍPossessive(ǿռ)ÈýÖÖ
Greedy ÊýÁ¿´Ê
X?
X£¬Ò»´Î»òÒ»´ÎҲûÓÐ
X*
X£¬Áã´Î»ò¶à´Î
X+
X£¬Ò»´Î»ò¶à´Î
X{n}
X£¬Ç¡ºÃ n ´Î
X{n,}
X£¬ÖÁÉÙ n ´Î
X{n,m}
X£¬ÖÁÉÙ n ´Î£¬µ«ÊDz»³¬¹ý m ´Î
GreedyÊÇ×î³£Óõģ¬ËüµÄÆ¥Å䷽ʽÊÇÏȰÑÕû¸ö×Ö·û´®ÍÌÏ£¬È»ºóÆ¥ÅäÕû¸ö×Ö·û´®£¬Èç¹û²»Æ¥Å䣬¾Í´ÓÓÒ¶ËͳöÒ»¸ö×Ö·û£¬ÔÙ½øÐÐÆ¥Å䣬ֱµ½ÕÒµ½Æ¥Åä»ò°ÑÕû¸ö×Ö·û´®ÍÂÍêΪֹ¡£
Matcher m=Pattern.compile("a.*b")
.matcher("a====b=========b=====");
while(m.find()){
System.out.println(m.group());
}
Êä³ö£º
a====b=========b
ÒòΪ×ÜÊÇ´Ó×î´ó Æ¥Å俪ʼƥÅ䣬¹Ê³ÆÌ°À·¡£
Reluctant ÊýÁ¿´Ê
X??
X£¬Ò»´Î»òÒ»´ÎҲûÓÐ
X*?
X£¬Áã´Î»ò¶à´Î
X+?
X£¬Ò»´Î»ò¶à´Î
X{n}?
X£¬Ç¡ºÃ n ´Î
X{n,}?
X£¬ÖÁÉÙ n ´Î
X{n,m}?
X£¬ÖÁÉÙ n ´Î£¬µ«ÊDz»³¬¹ý m ´Î
ReluctantÕýºÃºÍGreedyÏà·´£¬ËüÏÈ´Ó×îСƥÅ俪ʼ£¬ÏÈ´Ó×ó¶ËÍÌÈëÒ»¸ö×Ö·û£¬È»ºó½øÐÐÆ¥Å䣬Èô²»Æ¥Åä¾ÍÔÙÍÌÈëÒ»¸ö×Ö·û£¬Ö±µ½ÕÒµ½Æ¥Åä»ò½«Õû¸ö×Ö·û´®ÍÌÈëΪֹ¡£
Matcher m=Pattern.compile("a.*?b")
.matcher("a====b=========b=====");
while(m.find()){
System.out.println(m.group());
}
Êä³ö£º
a====b
ÒòΪ×ÜÊÇ´Ó×îСƥÅ俪ʼ£¬¹Ê³ÆÀÁ¶è¡£
Possessive ÊýÁ¿´Ê
X?+
X£¬Ò»´Î»òÒ»´ÎҲûÓÐ
X*+
X£¬Áã´Î»ò¶à´Î
X++
X£¬Ò»´Î»ò¶à´Î
X{n}+
X£¬Ç¡ºÃ n ´Î
X{n,}+
X£¬ÖÁÉÙ n ´Î
X{n,m}+
X£¬ÖÁÉÙ n ´Î£¬µ«ÊDz»³¬¹ý m ´Î
PossessiveºÍGreedyµÄÆ¥Å䷽ʽһÑù£¬ÏȰÑÕû¸ö×Ö·û´®ÍÌÏ£¬È»ºóÆ¥ÅäÕû¸ö×Ö·û´®£¬Èç¹ûÆ¥Å䣬¾ÍÈÏΪƥÅ䣬Èç¹û²»Æ¥Å䣬¾ÍÈÏΪÕû¸ö×Ö·û´®²»Æ¥Å䣬Ëü²»»á´ÓÓÒ¶ËͳöÒ»¸ö×Ö·û´®ÔÙ½øÐÐÆ¥Å䣬ֻ½øÐÐÒ»´Î
Matcher m=Pattern.compile("a.*+b")
.matcher("a====b=========b=====");
while(m.find()){
System.out.println(m.group());
}
Êä³ö£º
ÒòΪ̰À·µ«²¢²»´ÏÃ÷£¬¹Ê³ÆÇ¿Õ¼¡£
Ïà¹ØÎĵµ£º
2006ÄêÎÒÔø¾Ð´¹ýһƪÌÖÂÛJavaδÀ´µÄÎÄÕ£¬ÔÚÄÇÆªÎÄÕÂÖÐÎÒÌÖÂÛÁË¿ªÔ´¡¢JavaÔÚÏû·Ñµç×ÓÉ豸ÖеÄʹÓã¬ÏÖÔÚÔÚËùÓÐÀàÐ͵ÄÒÆ¶¯É豸ÉÏJavaµÄÓ¦ÓÃÕýÔÚÖð²½ÉÏÉý¡£¶ÔSun±»ÊÕ¹ºÒ»Ê£¬ÒÔ¼°JavaÓëOracle²úÆ·¼¯³ÉÎÒûʲôºÃÔ¤²âµÄ£¬Ò²Ã»Ê²Ã´ºÃµÄ½¨Ò飬ÎÒÖ»µ£ÐÄJavaµÄδÀ´»á×ßÏòºÎ·½?ÔÚÕâÆªÎÄÕÂÖÐÎÒÖØÐÂÉóÊÓÁËOracleÊÕ¹ºSunºóJavaµÄδÀ´Ö ......
ÔÚjavaÖÐʵÖÊÖ»´æÔÚÒ»ÖÖ´«µÝ·½Ê½£º¼´Öµ´«µÝ¡£ ¶øÒýÓô«µÝÊǶÔC/C++¶øÑԵġ£½áÂÛ£º
¡¡¡¡¶ÔÓÚ»ù±¾ÀàÐÍ£¬ÔÚ·½·¨ÌåÄÚ¶Ô·½·¨²ÎÊý½øÐÐÖØÐ¸³Öµ£¬²¢²»»á¸Ä±äÔÓбäÁ¿µÄÖµ¡£
¡¡¡¡¶ÔÓÚÒýÓÃÀàÐÍ£¬ÔÚ·½·¨ÌåÄÚ¶Ô·½·¨²ÎÊý½øÐÐÖØÐ¸³ÓèÒýÓ㬲¢²»»á¸Ä±äÔÓбäÁ¿Ëù³ÖÓеÄÒýÓá£
¡¡¡¡·½·¨ÌåÄÚ¶Ô²ÎÊý½øÐÐÔËË㣬²»Ó°ÏìÔÓбäÁ¿µÄÖµ¡£
¡¡¡¡ ......
ÕâÁ½ÌìѧУ¿ªÊ¼ÈÃÎÒÃÇÕâÒ»´óÅú¸ß·ÑÉúÑ¡Ôñ×Ô¼ºµÄרҵ·½Ïò£¬Focuser
ÎÒ
¾¹ýºÃ¼¸¸öÄêÍ·µÄ˼¿¼£¬²¢ÇÒÔÚÎÒÃÇÇ×°®c#ÀÏʦÈÈÇéµÄÏò
ÎÒÃǽéÉÜ.netµÄǰ¾°ºó£¬ÒãÈ»¼á¶¨µÄÑ¡ÔñÁËjavaÕâÌõ×Ô¼ºÈÏΪǰ³ÌËÆ½õµÄµÀ·¡£ÒÔϵÄÕâÐ©ÍøÕ¾ÊÇÎÒÆ½Ê±¾³£·ÃÎʵÄһЩ¹úÍâµÄÓ¢ÎÄjavaÍøÕ¾£¬½ñÌìÌØ
µØµÄ·¢²¼¸ø´ó¼Ò£¬Ï£ÍûÎÒÃÇÄܹ»ÕæÕýµÄѧϰµ½jav ......
ÎļþÃû£ºSjis.java
class Sj
{
public static void main(String[] args)
{
}
}
-------------------------------------
Ö´ÐУº
javac Sjis.java
Java Sj
¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢¡¢
ÎļþÃû£ºSjis.java
public class Sjis.java
{
public static ......
ת £ºhttp://kuru.javaeye.com/blog/288467
Java¶Ô¶àÏ̵߳ÄÖ§³ÖÓëͬ²½»úÖÆÉîÊÜ´ó¼ÒµÄϲ°®£¬Ëƺõ¿´ÆðÀ´Ê¹ÓÃÁËsynchronized¹Ø¼ü×־ͿÉÒÔÇáËɵؽâ¾ö¶àÏ̹߳²ÏíÊý¾Ýͬ²½ÎÊÌâ¡£µ½µ×ÈçºÎ£¿¨D¨D»¹µÃ¶Ôsynchronized¹Ø¼ü×ÖµÄ×÷ÓýøÐÐÉîÈëÁ˽â²Å¿É¶¨ÂÛ¡£ ×ܵÄ˵À´£¬synchronized¹Ø¼ü×Ö¿ÉÒÔ×÷Ϊº¯ÊýµÄÐÞÊηû£¬Ò²¿É×÷Ϊº¯ÊýÄÚµÄÓï¾ä£¬Ò ......