javaæ£åæåéè¦ç¨å°Matcherç±»ï¼ä¸é¢ç»åºæ¡ä¾ç¤ºä¾ä¾åè
éè¦æå车çå·ä¸æåä¸ä¸ªæ°åï¼æ¯å¦è¯´ï¼èA7865æå5ï¼èA876Xæå6
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String s = "A876X";
// æè¦å¹é
ç
å符串åæ
æ£å表达å¼ï¼ç¶åè¦æåçå符使ç¨æ¬å·æ¬èµ·æ¥
// å¨è¿éï¼æ们è¦æåæåä¸ä¸ªæ°åï¼æ£åè§åå°±æ¯âä¸ä¸ªæ°åå ä¸å¤§äºçäº0个éæ°ååå ä¸ç»æ符â
Pattern pattern = Pattern.compile("(\\d)[^\\d]*$");
Matcher matcher = pattern.matcher(s);
if(matcher.find())
System.out.println(matcher.group(1));
}
}
å
³äºMatcher ä¸çå 个æ¹æ³è¯´æï¼
Mathcer.start()
Matcher.end()
Matcher.group()
å½ä½¿ç¨matches(),lookingAt(),find()æ§è¡å¹é
æä½å,å°±å¯ä»¥å©ç¨ä»¥ä¸ä¸ä¸ªæ¹æ³å¾å°æ´è¯¦ç»çä¿¡æ¯.
start()è¿åå¹é
å°çåå符串å¨å符串ä¸çç´¢å¼ä½ç½®.
end()è¿åå¹é
å°çåå符串çæåä¸ä¸ªå符å¨å符串ä¸çç´¢å¼ä½ç½®.
group()è¿åå¹é
å°çåå符串
示ä¾ä»£ç å¦ä¸ï¼å
·ä½åè½è¯·åè注é
Pattern p=Pattern.compile(â\d+â);
Matcher m=p.matcher(âaaa2223bbâ);
m.find();//å¹é
2223
m.start();//è¿å3
m.end();//è¿å7,è¿åçæ¯2223åçç´¢å¼å·
m.group();//è¿å2223
Mathcer m2=p.matcher(â2223bbâ);
m2.lookingAt(); //å¹é
2223
m2.start(); //è¿å0,ç±äºlookingAt()åªè½å¹é
åé¢çå符串,æ以å½ä½¿ç¨lookingAt()å¹é
æ¶,start()æ¹æ³æ»æ¯è¿å0
m2.end(); //è¿å4
m2.group(); //è¿å2223
Matcher m3=p.matcher(â2223â); //å¦æMatcher m3=p.matcher(â2223bbâ); é£ä¹ä¸é¢çæ¹æ³åºéï¼å 为ä¸å¹é
è¿åfalse
m3.matches(); //å¹é
æ´ä¸ªå符串
m3.start(); //è¿å0
m3.end(); //è¿å3,åå ç¸ä¿¡å¤§å®¶ä¹æ¸
æ¥äº,å 为matches()éè¦å¹é
ææå符串
m3.group(); //è¿å2223
å¦å¤ï¼Mathcerç±»ä¸start(),end(),group()åæä¸ä¸ªéè½½æ¹æ³å®ä»¬æ¯start(int i),end(int i),group(int i)ä¸ç¨äºåç»æä½,Mathcerç±»è¿æä¸ä¸ªgroupCount()ç¨äºè¿åæå¤å°ç».
示ä¾å¦ä¸ï¼
Pattern p=Pattern.compile(â([a-z]+)(\d+)â);
Matcher m=p.matcher(âaaa2223bbâ);
m.find(); //å¹é
aaa2223
m.groupCount(); //è¿å2,å 为æ2ç»
m.start(1); //è¿å0 è¿å第ä¸ç»å¹é
å°çåå符串å¨å符串ä¸çç´¢å¼å·
m.start(2); //è¿å3
m.end(1); //è¿å3 è¿å第ä¸ç»å¹é
å°çåå符串çæåä¸ä¸ªå符å¨å符串ä¸çç´¢å¼ä½ç½®.
m.end(2); //è¿å7
m.group(1); //è¿åaaa,è¿å第ä¸ç»å¹é
å°çåå符串
m.group(2); //è¿å2223,è¿å第äºç»å¹é
å°çåå符串
注æ: åªæå½å¹é
æä½æå,æå¯ä»¥ä½¿ç¨start(),end(),group()ä¸ä¸ªæ¹æ³,å¦åä¼æåºjava.lang.IllegalStateException,ä¹å°±æ¯å½matches(),lookingAt(),find()å
¶ä¸ä»»æä¸ä¸ªæ¹æ³è¿åtrueæ¶,æå¯ä»¥ä½¿ç¨ã