正規表示式

2021-09-26 06:59:49 字數 2029 閱讀 5428

字元

含義舉例

^匹配輸入的開始

/^a/ 並不會匹配 「an a」 中的 『a』,但是會匹配 「an e」 中的 『a』。

$匹配輸入的結束

/t$/ 並不會匹配 「eater」 中的 『t』,但是會匹配 「eat」 中的 『t』

*匹配前乙個表示式0次或多次,等價於

/bo*/ 會匹配 「a ghost boooooed」 中的 『booooo』 和 「a bird warbled」 中的 『b』,但是在 「a goat grunted」 中不會匹配任何內容。

+匹配前面乙個表示式 1 次或者多次。等價於

/a+/ 會匹配 「candy」 中的 『a』 和 「caaaaaaandy」 中所有的 『a』

?匹配前面乙個表示式 0 次或者 1 次。等價於

「eeaa」.replace(/e?/,「hhh」) // hhheaa

.預設匹配除換行符之外的任何單個字元

(x)它會匹配 『x』 並且記住匹配項。其中括號被稱為捕獲括號。

(?:x)

匹配 『x』 但是不記住匹配項。這種括號叫作非捕獲括號

x(?=y)

匹配』x』僅僅當』x』後面跟著』y』.這種叫做先行斷言

「jackspratjack」.replace(/jack(?=sprat)/,「hhh」) // hhhspratjack

(?<=y)x

匹配』x』僅僅當』x』前面是』y』.這種叫做後行斷言。

「jackspratsprat」.replace(/(?<=jack)sprat/,「hhh」) //jackhhhsprat

x(?!y)

僅僅當』x』後面不跟著』y』時匹配』x』,這被稱為正向否定查詢

/\d+(?!.)/.exec(「3.141」)匹配『141』而不是『3.141』

(?僅僅當』x』前面不是』y』時匹配』x』,這被稱為反向否定查詢。xy

匹配『x』或者『y』

n 是乙個正整數,匹配了前面乙個字元剛好出現了 n 次

/a/ 不會匹配「candy」中的』a』,但是會匹配「caandy」中所有的 a,以及「caaandy」中的前兩個』a』

n是乙個正整數,匹配前乙個字元至少出現了n次

/a/ 匹配 「aa」, 「aaaa」 和 「aaaaa」 但是不匹配 「a」

n 和 m 都是整數。匹配前面的字元至少n次,最多m次

/a/ 並不匹配「***y」中的任意字元,匹配「candy」中的a,匹配「caandy」中的前兩個a,也匹配「caaaaaaandy」中的前三個a。注意,當匹配」caaaaaaandy「時,匹配的值是「aaa」,即使原始的字串中有更多的a

[xyz]

乙個字元集合。匹配方括號中的任意字元,包括轉義序列。你可以使用破折號(-)來指定乙個字元範圍。對於點(.)和星號(*)這樣的特殊符號在乙個字符集中沒有特殊的意義。他們不必進行轉義,不過轉義也是起作用的

[abcd] 和[a-d]是一樣的。他們都匹配"brisket"中的『b』,也都匹配「city」中的『c』。/[a-z.]+/ 和/[\w.]+/與字串「test.i.ng」匹配

[^xyz]

它匹配任何沒有包含在方括號中的字元

[\b]

匹配乙個退格

\d匹配乙個數字。等價於[0-9]

\d匹配乙個非數字字元。等價於[^0-9]

\f匹配乙個換頁符

\n匹配乙個換行符

\r匹配乙個回車符

\s匹配乙個空白字元,包括空格、製表符、換頁符和換行符

\s匹配乙個非空白字元

\t匹配乙個水平製表符

\v匹配乙個垂直製表符

\w匹配乙個單字字元(字母、數字或者下劃線)。等價於 [a-za-z0-9_]

\w配乙個非單字字元。等價於 [^a-za-z0-9_]

\n在正規表示式中,它返回最後的第n個子捕獲匹配的子字串

*如果緊跟在任何量詞 、 +、? 或 {} 的後面,將會使量詞變為非貪婪(匹配盡量少的字元),和預設使用的貪婪模式(匹配盡可能多的字元)正好相反。

replace

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...