\\
:其餘語言中,表示在正則表達式中插入普通的反斜線(字面上的),不要賦予它任何的意義;\\
:我要插入一個正則表達式的反斜線(構成正則式),其後的字符具備特殊的意義; \\d
:表示一位數字;\\+
⇒ 加號,\\.
⇒ 點;\\W+
(一個或多個字母)(\s*)
:匹配連續空格 0-9
自己,Stringjava
str.matches(pattern):布爾判斷,返回 true、false;正則表達式
\\w*\\d\\w*
):password.matches("\\w*\\d\\w*")
StringBuffer函數
java.lang.String ⇒ java(去掉字符和點)ui
Pattern p = Pattern.compile("\\w+\\.");
p.match(str).replaceAll("");
[^\w]
,\w: [a-zA-Z0-9]
);建立模式,進行匹配的步驟以下:spa
把你想要檢索的字符串傳入 Pattern 對象的 matcher() 方法,matcher() 方法會返回一個 Matcher 對象那個,其內有十分豐富的函數實現:日誌
// 咱們實現對待檢索的字符串 abcabcabcdefabc 的 (abc){2,} 模式的匹配
Pattern p = Pattern.compile("abcabcabcdefabc");
Matcher m = Matcher.match("(abc){2,}");
// 迭代器,遍歷和迭代進行
while (m.find()) {
System.out.println("Match \"" + m.group() + "\" at position "
+ m.start() + "-" + (m.end()-1));
}
以下形式的日誌文件:code
String logData = "" +
"58.27.82.161@02/10/2005\n" +
"204.45.234.40@02/11/2005\n";
逐行掃描,分別將其中的時間和 ip 提取出來。orm
String pattern = "(\\d+[.]\\d+[.]\\d+[.]\\d+@)" +
"(\\d+{2}/\\d{2}/\\d{4})";
Scanner scanner = new Scanner(logData); // 建立對日誌文件掃描的掃描器對象
while (scanner.hasNext(pattern)) {
scanner.next(pattern);
MatchResult m = scanner.match();
String original = m.group(0);
String ip = m.group(1);
String date = m.group(2);
System.out.format("%s: %s from %s\n", original, date, ip);
}