正規表示式學習之初步案例

2021-09-06 09:01:52 字數 2242 閱讀 2965

^(c|d|r|s).*

說明:姓氏以c、d、r或s開頭

(0|1|2|3|4|5|6|7|8|9)

說明:匹配數字0~9

\d說明:元字元表示數字0~9

\d\d\d

說明:會匹配012、234、345、999

abc[0-9]*

說明:表示匹配乙個大寫的a。如果匹配成功,嘗試匹配乙個大寫的b。

如果匹配成功,嘗試匹配乙個大寫的c。如果全部三個大寫字元都匹配,嘗試匹配零個或多個數字。

*操作符,匹配0次或多次

+操作符,匹配1次或多次

abc[0-9]+

說明:匹配abc12,匹配abc123,不匹配abc

?操作符,匹配0次或1次

abc[0-9]

說明:數字匹配三次

abc[0-9]

說明:後面的數字出現1到3次

abc[0-9]

說明:後面的數字匹配2到無窮次

..c[0-9][0-9]

說明:.匹配任意內容

.c[0-9][0-9]

說明:與上面的等價

\.匹配元素.

案例:\.com

說明:只匹配.com

不匹配acom或bcom

而.com則匹配acom或bcom

\w匹配英文本母、數字或下劃線

\w說明:匹配三個英文本母、數字或下劃線

\w匹配與\w的內容相反

其實\w匹配的內容等同於[a-za-z0-9_]

\d匹配的內容等同於[0-9]

\n匹配換行符(換行符是看不見摸不著但是確實存在的)

\\匹配反斜槓\

案例:http.*\\.*

說明:匹配http然後匹配任意,兩個任意之間必須存在\的行才會匹配。

所以上述的案例會匹配如下的內容

這些內容都包含\斜槓

sm[yi]th

說明:匹配smith或smyth

pe[aei]r

說明:匹配pear、peer或peir但不匹配per

[cd][a-z]+

說明:匹配以c或d開頭,之後跟任意數量小寫字元的內容

效果等同於(c|d)[a-z]+

[rst]ight

等同於[r-t]ight

#[0-9a-fa-f]

說明:表示十六進製制

((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.)(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])

說明:表示ip位址

(最好能把分析的思路展示出來)

查詢html中的標題元素

<(h1|h2|h3|h4|h5|h6)>

或者或者

h[_^3]

說明:^放中間只表示乙個普通的字元

表示匹配h_或者h3或者h^

h[^3]

說明:^放前面表示非

表示匹配3之外的任意字元

比如h2,h1,h4,h_

h[^3-5]

說明:表示匹配3到5之外的字元,包括字母,特殊字元等等。

^表示乙個字串或一行的開始位置

$表示乙個字串或一行的節數字置

\《和\>匹配乙個單詞的開始和結束位置

\b匹配乙個單詞的邊界

\ba與\

含義:匹配詞開始處的詞邊界。

匹配美國**

(123) 123-4567

\(\d\) \d-\d

hello(?= world)

說明:匹配後面有單詞world的hello

hello world匹配

hello worlda匹配

hello jim不匹配

hello(?= world\b)

說明:匹配後面有單詞world的hello

hello world匹配

hello worlda不匹配

hello jim不匹配

hello(?! world\b)

說明:匹配後面有單詞world的hello

hello world不匹配

hello worlda匹配

hello jim匹配

使用正則,要考慮好靈敏度和特殊性,既要高靈敏,又要能排除不需要的內容

\bcat\b只能匹配cat不能匹配cats。

正規表示式初步學習

正規表示式,又稱規則表示式 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式通常被用來檢索 替換那些符合某個模式 規則 的文字。使用場景 在python中使用正則需要匯入re包 import re首先我們來看兩個例子來體驗一下正...

正規表示式初步

正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配,python 自1.5版本起增加了re 模組,它提供 perl 風格的正規表示式模式。compile 函式根據乙個模式字串和可選的標誌引數生成乙個正規表示式物件。該物件擁有一系列方法用於正規表示式匹配和替換。1 基本常用的...

正規表示式案例

案例一我們將把所有的雙引號替換單引號 解析匹配了乙個 中加除了引用的除了 以外的東西 用 1 代替,在這裡 1就是 name a b console.log name.replace g,1 除了引號以外的所有數 案例二 我們將把字串中所有單詞的首字母都轉換為大寫 方法一 找到aaa或bbb吧aaa...