js正規表示式速查

2021-09-24 07:14:50 字數 2218 閱讀 1744

字元

匹配字母或數字

自身\0

表示空字元,null,等價\u0000

\t表示製表符 \u0009

\n表示換行符 \u000a

\v表示垂直製表符

\f表示換頁符

\r表示回車符

\xnn

有十六進製制數表示escape字元數

\u***x

十六進製制的unicode

\***

八進位制字元

以上正規表示式為基本的字面量語法,漢字的範圍:/^[\u4e00 - \u9fa5]+$/

字元匹配

g全域性匹配

i忽略大小寫

m多行匹配

閱讀以上內容我們正式來看看正規表示式還有哪些語法

範圍類是表示可以匹配一定範圍內的字元比如**[a-z]、[0-9]**

"2016-09-01".replace(/[0-9]/g,"a") //aaaa-aa-aa

複製**

正規表示式為了方便也提供了一些預定義類:

字元等價類匹配.

[^\r\n]除了回車換行

\d[0-9]數字字元

\d[^0-9]非數字字元

\s[\t\n\x0b\f\r]空白符

\s[^\t\n\x0b\f\r]非空白符

\w[a-za-z0-9_]字母數字下劃線

\w[^a-za-z0-9_]非字母數字下劃線

預定義類提供了比較常用的類

字元匹配

^以***開頭

$以***結尾

\b單詞邊界

\b非單詞邊界

//1.首先我們來嘗試一下

//2.只有單詞旁邊有空格才會被替換??於是

//3.來試試單詞邊界

//4如果我們想改變this中的is呢?

複製**

字元匹配?

最多一次

+至少一次

*任意次

n次n到m次

至少n次

正規表示式預設是按照盡可能多的匹配:

'12345678'.replace(/\d/g,'a');//a78

//若改為非貪婪模式只需要將量詞後加上?

'12345678'.replace(/\d?/g,'a')//aa78

複製**

當你要匹配乙個單詞匹配三次怎麼用呢?

'hellohellohellohello'.replace(/(hello)/g,'a')//ahello

複製**

'hello'.replace(/hello|world/g,'a')

hello或者world而不是o或w

'helloorldhellworld'.replace(/hell(o|w)orld/g,'a')//aa

複製**

假定乙個需求:yyyy-mm-dd替換為dd-mm-yyyy

'2010-09-08'.replace(/(\d)-(\d)-(\d)/,'$3/$2/$1');

$n表示的是第幾個分組

複製**

在分組裡面加上?:

'2010-09-08'.replace(/(?:\d)-(\d)-(\d)/,'$3/$2/$1');

//"$3/08/09"

$3不存才了

複製**

先來看看這張表

名稱正則

匹配正向前瞻

exp(?=assert)

負向前瞻

exp(?=assert)

正向後顧

exp(?=assert)

js不支援

負向向後顧

exp(?=assert)

js不支援

複製**

globle:全域性匹配

ignorecase:忽略大小寫

mutiline:多行匹配

soure:正規表示式文字字串

test他會從lastindex開始匹配

exec

Python正規表示式(含正規表示式速查表)

1 正規表示式的優點 2 python正規表示式速查表 3 python正規表示式使用方法 首先,匯入python的re模組 import re 將正規表示式編譯成pattern物件 pattern re compile r 因.入院 使用pattern匹配文字,獲得匹配結果,無法匹配時將返回non...

js數字正規表示式,js小數正規表示式

js數字正規表示式,js小數正規表示式 是否為數字 僅正數 包括正整數 正小數 0 param value returns function isnumber value 是否為所有數字 正數 負數 包括整數 小數 0 param value returns function isnumberall...

正規表示式速查表

字元說明 將下一字元標記為特殊字元 文字 反向引用或八進位制轉義符。例如,n 匹配字元 n n 匹配換行符。序列 匹配 匹配 匹配輸入字串開始的位置。如果設定了regexp物件的multiline屬性,還會與 n 或 r 之後的位置匹配。匹配輸入字串結尾的位置。如果設定了regexp物件的multi...