日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java——正则表达式

發布時間:2023/12/20 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java——正则表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java——正則表達式

近來學習到了正則表達式,在此整理以便理解。

1.定義:

正則表達式(regular expression)是一個字符串,可用于描述匹配一個字符串集合的模式,便于字符串的處理。可以使用正則表達式來進行匹配、替換和拆分字符串。

2.匹配字符串:

String類中的matches方法不僅可以匹配一個固定的字符串,還可以匹配符合一個模式的字符串集。

例如:(語句結果為true。)

其中“Java.*”即為正則表達式,它描述了一個字符串模式,即:以Java開始后面跟0個或多個字符串,其中,子字符串“.*”匹配0個或多個任意字符。

3.正則表達式語法:

???????? 正則表達式由字面值字符及特殊符號所組成。下表中列舉出了正則表達式的常用的語法。

表1:正則表達式常用語法

?

正則表達式

匹配

1

x

指定字符x

2

.

任意單個字符,換行符除外

3

(ab|cd)

ab或者cd

4

[abc]

a、b、c

5

[^abc]

除了a、b或者c以外的任意字符

6

[a-z]

a到z

7

[^a-z]

除了a到z以外的任意字符

8

[a-e[m-p]]

a到e或m到p

9

[a-e&&[c-p]]

a到e與c到p的交集

10

\d

一位數字,等同于[0-9]

11

\D

一位非數字

12

\w

單詞字符

13

\W

非單詞字符

14

\s

空白字符

15

\S

非空白字符

16

p*

0次或者多次出現模式p

17

p+

1次或者多次出現模式p

18

p?

0次或者1次出現模式p

19

p{n}

正好出現n次模式p

20

p{n,}

至少出現n次模式p

21

p{n,m}

n到m(不包含)次出現模式p

22

\p{P}

一個標點字符!”@#$%^&*()等

?

Ps1:反斜杠是一個特殊的字符,在字符串中開始轉義序列。因此Java中需要使用\\來表示\。

Ps2:空白字符是" ""\t""\n"、"\r"、"\f",因此\s和[\t\n\r\f]等同,\S和[^\t\n\r\f]等同。

Ps3:單詞字符是任何的字母,數字或下劃線字符。因此\w等同于[a-z[A-Z][0-9]_]或者簡化為[a-Za-z0-9]。

Ps4:可以使用括號來將模式進行分組。例如:(ab){3}匹配ababab,而ab{3}匹配abbb。

Ps5:表1中后面的六個條目*、+、?、{n}、{n,}以及{n,m}稱為量詞符(quantifier),用于確定量詞符前面的模式會重復多少次。例如,A*匹配0或者多個A,A+匹配1或者多個A,A?匹配0或者1個A。A{3}精確匹配AAA,A{3,}至少匹配3個A,A{3,6}匹配3到6之間個A。*等同于{0,},+等同于{1,},?等同于{0,1}。

Warning:不要在重復量詞符中使用空白。例如,A{3,6}不能寫成逗號后有一個空白符的A{3, 6}。

常用案例構建正則表達式:

  • 電話號碼:以日常生活中的11位手機號為例
  • (xxx-xxxx-xxxx)

    2.QQ郵箱:以10位QQ號為例(xxxxxxxxxx@qq.com)

    參考資料:

    梁勇. Java語言程序設計與數據結構基礎篇[M]. 北京:機械工業出版社,2018.167-175

    ?

    總結

    以上是生活随笔為你收集整理的Java——正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。