java-正則。本站提示廣大學習愛好者:(java-正則)文章只能為提供參考,不一定能成為您想要的結果。以下是java-正則正文
正則表達式是很罕見的。但是也是很容易出錯的。
所以,整理了寫 Java正則表達式的辦法。
pattern(形式)。split(聯系_成數組)。compile(編譯)、matcher(婚配器)
.+ 表示任何不為空的 、 \\. 表示轉譯為 . ^掃尾 $開頭
? 表示為懶散形式。婚配到第一個滿足的就中止 * :0到無量 + :1到無量
\d 數字:[0-9] \D 非數字:[^0-9] \w數字和字母[a-zA-Z0-9] \W 非數字和字母 [^a-zA-Z0-9]
- 在一些言語裡,"\\"的意思是"在正則表達式裡拔出一個反斜槓。"但是在Java裡,"\\"的意思是"要拔出一個正則表達式 的反斜槓,
- 那麼java正則表達式就應該是"\\w+"。假如要拔出一個反斜槓,那就得用"\\\\"。
- java像換行,跳格之類的只用一根反斜槓"\n\t"。
example:
Pattern pattern = Pattern.compile("[, |]+");
String[] strs = pattern.split("Java Hello World Java,Hello,,World|Sun");
for (int i = 0; i < strs.length; i++) {
System.out.print("\t" + strs[i]);
}
輸入後果 為: Java Hello World Java Hello World Sun
驗證郵箱地址:
String str2 = "
[email protected]";
Pattern pattern5 = Pattern.compile(".+@.+\\..+?");
Matcher matcher5 = pattern5.matcher(str2);
System.out.print("\n" + matcher5.matches()); //前往 布爾值
去除html標志:
Pattern pattern6 = Pattern.compile("<.+?>");
Matcher matcher6 = pattern6.matcher("<a href=\"index.html\">主頁</a>");
String string = matcher6.replaceAll("");
System.out.println("\r" + string);
// 截取url
Pattern pattern8 = Pattern.compile("<http://.+?>");
Matcher matcher8 = pattern8.matcher("dsdsds<http://www.baidu.com/>fdf");
if (matcher8.find()) {
System.out.println(matcher8.group()); // 前往婚配的字符串
}
復雜的:
example:
String str = "正則表達式 Hello World,正則表達式 Hello World ";
str.replace("hello" , "我要交換hello")
挑選數字
public Double regexGetMath(String matcher) {
Pattern pattern = Pattern.compile("[^0-9/.]");
Matcher match = pattern.matcher(matcher);
String getStr = match.replaceAll("");
Double getNum = Double.parseDouble(getStr);
return getNum;
}
挑選字符串
public String regexGetLetterLow(String matcher) {
Pattern pattern = Pattern.compile("[^a-zA-Z]");
Matcher match = pattern.matcher(matcher);
String getStr = match.replaceAll("").toLowerCase();
return getStr;
}