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

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

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

例如,對於字元串「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-tw/n/151256.html

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

相關推薦

發表回復

登錄後才能評論