幫你了解正規表示式

2021-09-05 12:32:02 字數 1078 閱讀 1805

『00\d』可以匹配』007』,但無法匹配』00a』;

『\d\d\d』可以匹配』010』;

『\w\w\d』可以匹配』py3』;

.可以匹配任意字元,所以:

'py.『可以匹配』pyc』、『pyo』、'py!'等等。

要匹配變長的字元,在正規表示式中,用*表示任意個字元(包括0個),用+表示至少乙個字元,用?表示0個或1個字元,用表示n個字元,用表示n-m個字元:

來看乙個複雜的例子:\d\s+\d。

我們來從左到右解讀一下:

\d表示匹配3個數字,例如』010』;

\s可以匹配乙個空格(也包括tab等空白符),所以\s+表示至少有乙個空格,例如匹配』 『,』 '等;

\d表示3-8個數字,例如』1234567』。

綜合起來,上面的正規表示式可以匹配以任意個空格隔開的帶區號的**號碼。

如果要匹配』010-12345』這樣的號碼呢?由於』-『是特殊字元,在正規表示式中,要用』'轉義,所以,上面的正則是\d-\d。

但是,仍然無法匹配』010 - 12345』,因為帶有空格。所以我們需要更複雜的匹配方式。

高階要做更精確地匹配,可以用表示範圍,比如:

[0-9a-za-z_]可以匹配乙個數字、字母或者下劃線;

[0-9a-za-z_]+可以匹配至少由乙個數字、字母或者下劃線組成的字串,比如』a100』,『0_z』,'py3000』等等;

[a-za-z_][0-9a-za-z_]*可以匹配由字母或下劃線開頭,後接任意個由乙個數字、字母或者下劃線組成的字串,也就是python合法的變數;

[a-za-z_][0-9a-za-z_]更精確地限制了變數的長度是1-20個字元(前面1個字元+後面最多19個字元)。

a|b可以匹配a或b,所以(p|p)ython可以匹配』python』或者』python』。

表示行的開頭,\d表示必須以數字開頭。

katex parse error: expected 'eof', got '\d' at position 8: 表示行的結束,\̲d̲表示必須以數字結束。

你可能注意到了,py也可以匹配』python』,但是加上^py$就變成了整行匹配,就只能匹配』py』了。

了解正規表示式

摘要 相信大家都聽說過正規表示式,用它可以在字段中進行高速查詢 替換等功能。使用正規表示式可以輕鬆的對文字進行控制。比如,如果您想知道乙個字串的數字表示式是否在 0.1 9.9 之間 注意,只有一位小數 您會用什麼方法辦到這個需求呢?我想您會乙個 char 乙個char 的檢測,這樣會很麻煩,需要很...

了解正規表示式

元字元 表示的是 或者 表示的是 分組 提公升優先順序 都是元字元,下面這些也可以叫限定符 限定前面的表示式出現的次數 表示的是 前的表示式出現了0次到1次,最少是0次,最多1次,另乙個含義 阻止貪婪模式 表示的是 更加明確前面的表示式出現的次數 表示的是以 開始,或者是取非 取反 表示的是以 結束...

了解正規表示式

正規表示式 regular expression 是乙個描述字元模式的物件。正規表示式能夠進行強大的 模式匹配 和 文字檢索與替換 功能。前端往往有大量的表單資料校驗的工作,採用正規表示式會使得資料校驗的工作量大大減輕 建立正規表示式 regexp建構函式宣告 第乙個引數就是我們的模式 字串 var...