javascript中10個正則表示式使用介紹基礎篇
在 JavaScript 中,正則表示式通常用於兩個字串方法 : search() 和 replace()。
search() 方法 用於檢索字串中指定的子字串,或檢索與正則表示式相匹配的子字串,並返回子串的起始位置。
replace() 方法 用於在字串中用一些字元替換另一些字元,或替換一個與正則表示式匹配的子串。
1.匹配模式
正則表示式查詢與模式匹配的字串部分
在JavaScript中,它們是在正斜槓之間//或使用new RegExp()
例如:
var str = "Visit Jb51.net!";
var n = str.search(/jb51.net/i);
例子2
<script language="javascript"> var reg=new RegExp("終古","g"); //建立正則RegExp物件 var stringObj="終古人民共和國,終古人民"; var newstr=stringObj.replace(reg,"中國"); alert(newstr); </script>
例子3
function dotag() { 第一種寫法RegExp document.form1.tag.value = trim(document.form1.tag.value.replace(new RegExp(',',"gm"),',')); 第二種用// document.form1.tag.value = trim(document.form1.tag.value.replace(/,/gm,","); }
是不是第二中更好看,第一種遇到\w,還得多加一個\,\\w,所以一般情況下,我們都是用//.
更多的可以參考這篇文章:JavaScript replace new RegExp使用介紹
然後用於match , test或replace
您可以預先定義正則表示式,也可以直接在呼叫方法時定義
2.匹配多個
一次匹配單個字元,
或將多個字元放在方括號[]中以捕獲任何匹配的字元
使用連字號捕獲一系列字元-.
舉例
[0-9]表示0,1,2...9的數字
[a-z]表示26個小寫字母
[A-Z]表示26個大寫字母
3.可選標誌
在正則表示式的末尾新增可選標誌,以修改匹配器的工作方式。
在JavaScript中,這些標誌是:
i =不區分大小寫 m =多行匹配 g =全域性匹配(查詢全部,而不是查詢一個)
4.開始和結束
在開始處使用插入符號^表示“字串開始”
在末尾使用美元符號$表示“字串結尾”
開始將匹配項組合在一起以匹配更長的字串
在表單驗證中,需要前面加 ^後要加$
更多的可以參考這篇文章:https://www.jb51.net/article/118265.htm
5.萬用字元
使用萬用字元和特殊的轉義字元來匹配較大類的字元
.=除換行符外的任何字元
\ d =數字 \ D =不是數字
\ s =空格 \ S =任何非空白
\ n新行 \w非空字母
6.特定數量
僅將特定數量的匹配字元或組與量詞匹配
=零或更多 =還有一個? = 0或1 {3} =正好3倍{2,4} =兩倍,三倍或四倍{2,} =兩倍或更多倍
7.小括號匹配組
使用parens()捕獲組
match會返回完整匹配加上組,除非您使用g標誌
使用管道運算子| 在parens()內部以指定該組匹配的內容
| =或
8.反斜槓
要匹配特殊字元,請使用反斜槓\
JS正則表示式中的特殊字元是:^ $ \. * +? ()[] {} |
因此,要匹配一個星號,可以使用:
\ *
不只是*
9.中括號裡的^
要匹配某個字元但要匹配某個字元,請在方括號內使用插入號^
這意味著^有兩個含義,可能會造成混淆。
當它在正則表示式的前面時,它表示“字串的開始”,而在方括號內使用時,則表示“不是此字元”。
10.總結
正則表示式可用於查詢和匹配各種內容,從url到檔名
然而! 如果您嘗試將正則表示式用於真正複雜的任務,請務必謹慎,例如解析電子郵件(這確實令人困惑,非常快)或HTML(非常規語言,因此無法由正則表示式完全解析)
正則表示式還有(當然)還有更多,例如懶惰vs貪婪,超前和捕獲
更多的可以檢視這篇文章:https://www.jb51.net/article/181099.htm
但是大多數web開發人員想要使用正則表示式的東西都可以僅使用這些基本構建塊。
我已經在寫一堆有關真實世界正則表示式用例的後續文章🎉
原文:https://dev.to/chrisachard/intro-to-regex-for-web-developers-2fj4
譯文:http://caibaojian.com/10-regex-tip.html
我們小編特別補充,在這裡推薦大家檢視下面的文章。