正則表達式:從一個或多個到無窮多

一、正則匹配一個或多個字符

正則表達式對於匹配字符串非常有力,而匹配一個或多個字符則是最基本的一種匹配。在正則表達式中,可以使用“+”符號表示匹配一個或多個重複的字符。

例如,對於字符串“hello”的正則表達式為:

/hel+o/

其含義是匹配以“hel”加一個或多個“l”加“o”結尾的字符串。這時候的正則表達式可以匹配“hello”,“hellllo”以及“helllllllllo”,但不能匹配“helo”或“heo”。

二、正則匹配第一個空格

在字符串匹配中,有時候需要匹配第一個空格。可以使用“\s”表示空格字符,使用“\S”表示非空格字符。對於匹配第一個空格,可以使用“\S*\s”表示匹配第一個空格之前的所有非空格字符,例如:

/\S*\s/

對於字符串“hello world”,這個正則表達式可以匹配“hello ”字符串。

三、正則匹配一個或多個空格

對於匹配一個或多個空格,直接使用“\s+”表示匹配一個或多個空格,例如:

/\s+/

對於字符串“hello world”,這個正則表達式可以匹配“ ”字符串。

四、正則匹配一個或多個數字

數字是經常出現的一種字符類型,可以使用“\d”來表示數字。對於匹配一個或多個數字可以使用“\d+”,例如:

/\d+/

對於字符串“hello 123 world”,這個正則表達式可以匹配“123”字符串。

五、正則匹配一個或多個字母

字母也是幾乎所有字符串類型中必不可少的一個字符類型,可以使用“[a-zA-Z]”來表示匹配大小寫字母。

對於匹配一個或多個字母,可以使用“[a-zA-Z]+”,例如:

/[a-zA-Z]+/

對於字符串“hello world”,這個正則表達式可以匹配“hello”和“world”字符串。

六、正則匹配中間一段

有時候需要匹配某個字符串中間的一段,在正則表達式中可以使用“.*”表示匹配任意字符,也可以使用“[^X]”表示匹配除去X之外的任意字符。比如想匹配“hello world”中間的“lo wo”,可以使用正則表達式:

/lo.*?wo/

其中“.*?”表示匹配包含任意字符的最短字符串。

七、正則匹配一個或多個字符串

有時候需要匹配一個字符串中的多個子字符串,可以使用“|”符號來表示或。例如想匹配“hello”或“world”,可以使用正則表達式:

/hello|world/

對於字符串“hello world”,這個正則表達式可以匹配“hello”和“world”字符串。

八、正則匹配一個或多個相同字符

如果想匹配一段重複的字符,可以使用“\1”來表示,其中“\1”表示匹配已經出現過的字符。

例如想匹配“hello”字符串中重複的“l”,可以使用正則表達式:

/(\w)\1+/

對於字符串“hello”,這個正則表達式可以匹配“ll”字符串。

九、正則匹配零或多個

有時候需要匹配零個或多個字符,可以使用“*”來表示。例如想匹配以“he”開頭的字符串,可以使用正則表達式:

/he.*/

對於字符串“hello world”,這個正則表達式可以匹配“hello world”字符串。

十、正則匹配一次選取3~5個

如果想匹配一段字符出現3~5次,則需要使用正則表達式的括號“()”來進行分組,然後採用“{3,5}”來表示重複次數。例如想匹配一段字符串中包含3~5個數字的字符串,可以使用正則表達式:

/\d{3,5}/

對於字符串“hello 123456789 world”,這個正則表達式可以匹配“12345”字符串。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/151256.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-11 13:40
下一篇 2024-11-11 13:40

相關推薦

發表回復

登錄後才能評論