這個時候各大公司的筆試面試都開始了,各位小夥伴一起加油吧!
正則的知識很重要,一定要重視哦
首先如何例項化乙個正規表示式物件
// 使用字面量的方式
var reg = /\d/g;
// 使用建構函式的方式
var reg = new regexp('\\b','g');
好,解釋一下這兩種方式,一種就是把要寫的正則放在兩個//
之間,其中//
後面的是修飾符
第二種,是通過new乙個regexp,接受兩個引數,第乙個是正則的內容。在\b
前面加上了乙個\
是對\b
中的\
進行轉義,記住這個是必須的,有特殊的字元都需要轉義。第二個引數是修飾符
下面說一下元字元:
元字元的概念:元字元是在正規表示式中有特殊含義的非字母字元
\f 換頁符
\n 換行符
\r 回車
\t 製表符
\v 垂直製表符
\/ 乙個 / 直接量
\\ 乙個 \ 直接量
\. 乙個 . 直接量
\* 乙個 * 直接量
\ 乙個 + 直接量
\? 乙個 ? 直接量
\| 乙個 | 直接量
\( 乙個 ( 直接量
\) 乙個 ) 直接量
\[ 乙個 [ 直接量
\] 乙個 ] 直接量
\ 乙個 } 直接量
字元類和範圍類:
我們可以通過來表示乙個類,匹配的時候匹配到
其中乙個即可。
例如[0-9]
表示數字0到9,[a-za-z]
表示匹配所有的大小寫字母。
同時我們可以在中加入
^
表示乙個反向類,例如[^9]
表示除了9之外的所有字元
預定義類:
. 表示除了回車符和換行符之外的所有字元,等同於 [^\r\n]
\d 表示數字字元,等同於[0-9]
\d 表示非數字字元,等同於[^0-9]
\s 表示空白符,等同於[\t\n\x\f\r]
\s 表示非空白符,等同於[^\t\n\x\f\r]
\w 表示單詞字元(字母數字下劃線),等同於[a-za-z_0-9]
\w 表示非單詞字元,等同於[^a-za-z_0-9]
邊界匹配字元:^ 表示以***開始
$ 表示以***結束
\b 單詞邊界
\b 非單詞邊界
量詞:? 出現零次或一次(最多出現一次)
+ 出現一次或多次(至少出現一次)
* 出現零次或多次(任意次)
出現n次
出現n到m次
至少出現n次
貪婪和非貪婪模式:
1.正規表示式預設是貪婪模式,也就是說,正則匹配是會盡可能按照量詞的上線多匹配
2.想要關閉正規表示式的貪婪模式,只需要這麼寫/\d?/
加上乙個?
即可。
分組:可以用()
進行分組,可以byr(on|ca)sper
進行或,或者是(/d/w12)
進行轉化
分組的內容從前到後,分別分組為$1,$2,$3...
忽略分組:
(?:byron).(ok)
只要在分組內加上?:
就可以忽略分組
前瞻:js正規表示式中只有前瞻沒有後顧。
前瞻就是正規表示式匹配到規則的時候,向前檢查是否符合斷言
exp(?=assert) 正向前瞻,看一下正則後面的內容是否可以匹配上
exp(?!assert) 負向前瞻,看一下正則後面的內容是否可以不匹配上
物件屬性:global:是否進行全域性搜尋,預設不進行,例子:/\d/g
ignore case:是否忽略大小寫,預設是不忽略,例子:/\d/i
multiline:多行搜尋,預設不開啟多行搜尋
lastindex:是當前表示式匹配內容的最後乙個字元的下乙個位置
source:正規表示式的文字字串
正規表示式的兩個方法:test() // 接受乙個引數,判斷傳入的字串是否匹配正規表示式。
特別注意:如果正則中有g,會出現奇怪的結果,原因是lastindex在作怪
exec() // 接受乙個引數
字串和正則有關的方法:search() // 接受乙個引數,傳入要搜尋的正規表示式,如果匹配成功就返回第乙個匹配結果的index,否則就返回-1
match() // 和正規表示式exec很像
spilt() // 將字串分割為陣列
replace() // 支援兩個引數,第乙個是尋找和正則匹配的,下乙個是替換的內容
1.用正則匹配手機號碼
function (tele) $/) > -1) else
}
還有一種方法:
function (tele) $/.test(tele);
}
2.用正則從url中擷取資訊
var url = '';
var reg = /[?&](\w+)=(\w+)/g;
var obj = {};
while(ret = reg.exec(url))
console.log(obj);
明天就面試啦,祝我成功吧!
正規表示式系列
首先需要引用 using system.text.regularexpressions 數字正規表示式 private static regex regnumber new regex 0 9 數字可帶正負號 private static regex regnumbersign new regex ...
關於正規表示式
前言 regular expressions 正規表示式,以下用re稱呼 對小弟來說一直都是神密的地帶,看到一些網路上的大大,簡單用re就決解了某些文字的問題,小弟便興起了學一學re的想法,但小弟天生就比較懶一些,總希望看有沒有些快速學習的方式,於是小弟又請出google大神,借由祂的神力,小弟在網...
關於正規表示式
使用atl中的正規表示式總是會多多少少的出問題,比如 不能識別,一些其他字元不能識別等等,所以使用了greta解決了那個問題 int caddmaker regexmatch cstring strs,cstring regex,cstringarray result match results r...