正則(規(guī)則)表達(dá)式(Regular Expression)
表達(dá)風(fēng)格
JS風(fēng)格:new RegExp("表達(dá)式規(guī)則咧栗,其實(shí)就是perl寫法默伍,注意的是表示'/'的時(shí)候要再加上轉(zhuǎn)義字符'/', "i或g");
perl風(fēng)格:/表達(dá)式/i或g
其中i表示ignore(不區(qū)分大小寫)备韧,g表示global(不單單取一個(gè)辞居,全局都要取)
表達(dá)方法
轉(zhuǎn)義字符
\d------digital數(shù)字0-9,
\w------word數(shù)字字母橫桿0-9a-z_,
\s------空格葫盼,分隔符
\b-----分割符残腌,如逗號(hào),空格
其中寫法如為大寫字母贫导,則表示排除的意思
任意字符
[abc]
范圍
[a-z] [0-9]
排除
[^a] [^0-9] [^\d]
組合
[a-z0-9A-Z]
量詞
{1,9} 最小取1個(gè)抛猫,最大取9個(gè)
{0,1}零次或1次,等效于"?"
{1,}最小取1個(gè)孩灯,等效于"+"
{0,}任意次闺金,不建議使用,等效于"*"
{3}正好取3個(gè)
表達(dá)首尾
"^"首钱反,寫最前面掖看,"$"尾,寫最后面
表達(dá)所有字符
"."
配合字符串方法使用
str.search("abc"):字符串搜索面哥,返回字符串第一次出現(xiàn)的位置,如搜索不到毅待,返回-1尚卫;
str.match("abc"):獲取匹配的項(xiàng)目,返回?cái)?shù)組尸红;
str.replace():替換所有匹配吱涉,并返回替換后字符串刹泄;
str.charAt(3):返回所在位置字符
str.substring("1","3")? :獲取子字符串,返回位置1到位置2的字符串怎爵,注意不是位置3
str.split(",")? 分割字符串特石,獲得數(shù)組,如根據(jù)逗號(hào)作為分割依據(jù)
正則表達(dá)式方法
re.test(str);
正則使用例子
獲取QQ號(hào):var re = /[1-9]\d{1,10}/
郵箱檢驗(yàn): var re = /^\w+@[0-9a-z]+\.[a-z]{2,4}/
偷小說(shuō): var re = /<[^<> ]+>/g
篩選中文:var re = / [\u4e00-\u9fa5]/
完美getByClass: var re = /\b"classname"\b/
去空格: var re = /\s+/g