java成神之——正則表達式基本使用
阿新 • • 發佈:2018-10-07
單詞 href 添加 .com 一個 方法 cas ring 英文
- 正則表達式
- 常用匹配規則
- 基本使用
- 標記符的使用
- 部分正則標記
- 正則表達式在字符串方法中的使用
- 結語
正則表達式
常用匹配規則
[abc] abc其中一個 [^abc] abc之外的一個 [a-z] a和z之間的一個 . 表示任意字符 \d 表示一個數字 \D 非數字 \w 表示a-zA-Z0-9_ \W 非a-zA-Z0-9_ ^ 開頭 $ 結尾 \b 英文單詞邊界 ? 一次或者0次 * 零次或者多次 + 一次或者多次 {n} 出現制定n次 {n,} 至少n次 {n,m} >=n <=m 次
基本使用
正則結構 (\d{3})-(\d{3})-(\d{4}) ^-----^ ^-----^ ^-----^ 組 1 組 2 組 3 Pattern phonePattern = Pattern.compile("(\\d{3})-(\\d{3})-(\\d{4})"); Matcher phoneMatcher = phonePattern.matcher("abcd800-555-1234wxyz"); phoneMatcher.find(); // 查找一次 true phoneMatcher.group(0); // 800-555-1234 phoneMatcher.group(1); // 800
標記符的使用
常用標記符
DOTALL 表示.可以代表任意字符包括行終止符,簡寫?s
CASE_INSENSITIVE 表示不區分大小寫,簡寫?i
Pattern pattern = Pattern.compile("foo.", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
或者
Pattern pattern = Pattern.compile("(?si)foo.");
pattern.matcher("FOO\n").matches(); // true
部分正則標記
Pattern pattern = Pattern.compile("^\\[(a)$"); 匹配字符串中有部分特殊的需要轉義的字符,除了添加雙反斜線以外,還可以如下操作 Pattern pattern = Pattern.compile("^\\Q[\\E(a)$"); \Q 表示起始,\E 表示結束 或者 Pattern pattern = Pattern.compile(Pattern.quote("[") + "(a)$");
正則表達式在字符串方法中的使用
matches方法:判斷字符串是否滿足正則匹配
String str = "abc";
boolean b = str.matches("[a].*");
split方法:根據正則匹配的規則分隔字符串
String str = "abc";
String[] arr = str.split("[b]"); // [a, c]
replaceAll方法:將匹配的字符串替換成其他字符
String str = "abc";
String str1 = str.replaceAll("[\\w]", "1"); // 111
結語
本文章是java成神的系列文章之一
如果你想知道,但是本文沒有的,請下方留言
我會第一時間總結出來並發布填充到本文
java成神之——正則表達式基本使用