正規表示式必知必會

2021-08-07 04:39:23 字數 1752 閱讀 1604

(1)字元

語法說明

表示式可匹配

任意普通字元

匹配自身

abcabc

\轉義字元

a\\b

a\b.

匹配除了換行符以外的任何字元 相當於\w的加強版(\w看下面一張表)可匹配空格

.+a c1b

[…]字符集 可以都寫出來也可以寫個範圍如[a-z],第乙個字元如果是\^表示取反,如[\^a]表示a除外的所有字元,如果字符集內有特殊字元,需要轉義

a[bc]d

abd,acd

(2)預定義字符集

語法說明

表示式可匹配

\d數字[0-9]

\d1,2,3….

\d非數字[^\d]

\da,b,c…

\s空白字元

a\sc

a c\s

非空白字元

a\sc

abc\w

匹配字母,數字,下劃線[a-za-z0-9_]

\w+a_b 1

\w匹配任意不是字母,數字,下劃線 的字元

(3)量詞

語法說明

表示式可匹配

*匹配字元重複0次或無限次

ab*a,ab,abb,abbbb…

+匹配字元重複1次或無限次

ab+ab, abb, abbb…

?匹配字元重複0次或1次

ab?a, ab

匹配字元重複n次

abcabbc

匹配字元重複n到m次

abcabc, abbc

匹配字元至少重複n次

abcabbc

(4)邊界匹配

語法說明

表示式可匹配

^匹配行或字串的開頭^aa

$匹配行或字串的結尾c$c

\a匹配字串的開頭

\aaa

\z匹配字串的結尾

c\zc

\b不會消耗任何字元只匹配乙個位置(單詞邊界,\w能表示的範圍)

\bb\b

a b c的b,a!b!c的b

(5)邏輯分組

語法說明

表示式可匹配

|或,左右表示式匹配乙個即可

ab|cd

ab,cd

(…)乙個左右括號為乙個分組,分組有自己的編號,做左到右每遇到乙個左括號分組編號就+1。分組後面可接量詞,在分組中的|範圍也僅僅在這個分組內有效

(a)aa

(6)特殊構造(預查)

語法說明

表示式可匹配

(?:)

非獲取匹配

a(?:bc|cd)

abc,acd

(?=…)

之後的內容需要匹配

a(?=\d)

匹配a後面是數字的字串

(?!…)

之後的內容需要不匹配

a(?!\d)

匹配a後面不是數字的字串

(?<=…)

之前的內容需要匹配

(?<=\d)a

匹配a前面是數字的字串

(?之前的內容需要不匹配

(?匹配a前面不是數字的字串

以上是目前我總結出來的需要熟稔於心的基本的正則語法。當然,網上同樣的總結也有很多,留乙份供自己日後參考用。

最後演示一下我推薦的那個**(匹配ip位址),看起來是不是很棒?一目了然

正規表示式必知必會

1.exactly n of the preceding element.只能匹配連續n個字元 n or more of the preceding element.可以匹配n,或任意大於n個連續字元。貪婪匹配,會盡量匹配多的字元 between m and n of the preceding e...

正規表示式必知必會 附

正規表示式測試器 html注釋 基本元字元 匹配任意單個字元 邏輯或操作符 匹配字元集合中的乙個字元 對字元集合求非 在 中定義乙個區間 對下乙個字元轉義 數量元字元 匹配前乙個字元 子表示式 的零次或多次重複 懶惰型版本 匹配前乙個字元 子表示式 的一次或多次重複 懶惰型版本 匹配前乙個字元 子表...

正規表示式必知必會 一

定義 正規表示式 regular expression,簡稱regex 是一種處理文字的工具,並不算得上是一門 語言 可以理解為內嵌於其它語言中的 迷你語言 用途搜尋,替換 語法 正規表示式區分大小寫 由字元和具有特殊含義的元字元構成 對於大部分的元字元,當要使用它們本身時,一般需要使用反斜線 進行...