轉載自 這裡
String上的正則表示式,實際上是利用了Pattern與Matcher的功能,當您呼叫String的matches()方法時,實際上是呼叫Pattern的靜態(static)方法matches(),這個方法會傳回boolean值,表示字串是否符合正則表示式。
如果您想要重覆使用您的正則表示式,則您可以使用 Pattern 的靜態方法compile()進行編譯,它會傳回一個Pattern的實例,代表您的正則表示式,之後您就可以重覆使用這個實例的matcher()方法來進行字串比對,這個方法會傳回一個Matcher 的實例, Matcher上有一些尋找符合正則式條件的方法可供操作。
以下直接來看個實例:
考慮如下字串
下面的範例介紹如何使用正則表示式取出項目 UCount 的值 :
代碼 (RegexSample):
執行結果 :
String上的正則表示式,實際上是利用了Pattern與Matcher的功能,當您呼叫String的matches()方法時,實際上是呼叫Pattern的靜態(static)方法matches(),這個方法會傳回boolean值,表示字串是否符合正則表示式。
如果您想要重覆使用您的正則表示式,則您可以使用 Pattern 的靜態方法compile()進行編譯,它會傳回一個Pattern的實例,代表您的正則表示式,之後您就可以重覆使用這個實例的matcher()方法來進行字串比對,這個方法會傳回一個Matcher 的實例, Matcher上有一些尋找符合正則式條件的方法可供操作。
以下直接來看個實例:
考慮如下字串
下面的範例介紹如何使用正則表示式取出項目 UCount 的值 :
代碼 (RegexSample):
- package gays.others;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /**
- * @author john_k_lee
- * BD : Regular Expression Demo
- */
- public class RegexSample {
- public static void main(String[] args) {
- String phones1 = "RateURLFromFile FilePath=\"D:/TestFactory/Pooling/test2.txt\",OutputPath=\"D:/TestFactory/Pooling/log\",UCount=\"5\"";
- Pattern pattern = Pattern.compile(".*UCount=\"(\\d*)\"");
- Matcher matcher = pattern.matcher(phones1);
- if(matcher.find()) {
- System.out.println("UCount="+matcher.group(1));
- }else{
- System.out.println("No UCount Item!");
- }
- }
- }
This message was edited 1 time. Last update was at 10/11/2010 17:10:15
沒有留言:
張貼留言