1. 程式人生 > >java正則表達式(regular)

java正則表達式(regular)

特殊符號 文本 常用 class pan bsp -- width 之間

哎呀媽呀,腦瓜疼----正則表達式

    正則是用來處理復雜文本類型的

標準字符集合:

\d --->代表0-9任意一個數字

\D ---->除了數字之外的任意字符

\w ----->字母(大小寫)數字,下劃線全匹配

\W ----->除了字母數字下劃線之外的所有字符

\s ----->空格,換行,制表符

\S ----->除了空格換行制表符之外的所有字符

. ----->匹配任意字符除了換行符

自定義字符集合(***)

使用[] 的匹配方式,匹配[]內的字符,  在[] 內使用  ^ 表示取反  - 表示從哪到哪區間
[qp3@] ----->匹配 q 或者 p 或者3 或者@的字符

[a-f] ------>匹配a-f之間的字符

[^a-v0-7]---->匹配除了a-v 0-7之間的字符

量詞使用:修飾匹配次數的特殊符號

{n} ---->表達式重復n 次
  \d{6}: 匹配6位數字
  {\d\d}{6}:匹配12位數字
{m,n} ---->表達式至少重復m次,最多重復n次 是貪婪模式,如果有 n次會一直往上追加n次

{m,n}? -----> 最多重復m次,非貪婪模式

{m,} ------->至少m次,m+都算

? --------->匹配表達式0次或者一次 相當於{0,1}
  a/d?b :匹配 ab a5b
+ ---------->至少一次 相當於{1,}
  a/d+b :匹配 a2b a34b

* ---------->都要相當於{0,}


字符邊界:是位置,不是字符

^ ------>字符開始的地方
  ^o:以o開始的字符串
$ ------>字符串結束的地方
  o$ :以o結束的字符串
\b ------>不全是/w的表示
  qw\b : 只會配置這種 qw 123qw

手機號碼匹配

1[358]\b{9}  ------1開頭,第2位可以是3 .5.8 其他9位數字

郵箱匹配

[\w\-]+@[a-zA-Z0-9]+(\.[A-Za-z]{2,5}){1,2}

常用的正則匹配

技術分享圖片

java 使用正則:

使用到 java.util包下的 Pattern 創建正則表達式 以及Matcher 兩個對象

    Pattern p= Pattern.compile("\\d"); //創建正則表達式

    Matchr m =p.matcher("ddeff34");//需要匹配的正則

    while(m.find()){

    m.group();//取出

  }

技術分享圖片

java正則表達式(regular)