javascript中10個正則表達式使用介紹基礎篇

 更新時間:2020-05-11 14:32:47   作者:佚名   我要評論(0)

在 JavaScript 中,正則表達式通常用于兩個字符串方法 : search() 和 replace()。
search() 方法 用于檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字

在 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

腳本之家小編特別補充,在這里推薦大家查看下面的文章。

您可能感興趣的文章:

  • 正則表達式30分鐘入門教程
  • 揭開正則表達式的神秘面紗(regexlab出品)

相關文章

  • javascript中10個正則表達式使用介紹基礎篇

    javascript中10個正則表達式使用介紹基礎篇

    在 JavaScript 中,正則表達式通常用于兩個字符串方法 : search() 和 replace()。 search() 方法 用于檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字
    2020-05-11
  • javascript正則表達式標記中/g /i /m的用法,以及實例

    javascript正則表達式標記中/g /i /m的用法,以及實例

    一,js正則標志/g,/i,/m說明 1,/g (globle)表示該表達式將用來在輸入字符串中查找所有可能的匹配,全文查找出現的所有匹配字符,返回的結果可以是多個。如果不加/
    2020-05-11
  • javascript正則表達式RegExp入門圖文教程

    javascript正則表達式RegExp入門圖文教程

    正則表達式是啥? 正則表達式又叫作“規則表達式”(Regular Expression 即 RegExp),是計算機科學的一個概念。 正則表達式有什么用? 它常被用來搜索、替換那些符
    2020-05-11
  • js中的正則表達式入門(大量實例代碼)

    js中的正則表達式入門(大量實例代碼)

    什么是正則表達式呢? 正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個字符串是否含有某種子串、將匹配的子串做替換或者從某個字符串
    2020-05-11
  • linux 正則表達式grep實例分析

    linux 正則表達式grep實例分析

    在很多技術領域(如:自然語言處理,數據存儲等),正則表達式可以很方便的提取我們想要的信息,所以正則表達式是一個很重要的知識點! 一、概念 正則表達式(Regul
    2020-05-11
  • 正則表達式匹配閉合HTML標簽(支持嵌套)

    正則表達式匹配閉合HTML標簽(支持嵌套)

    任何復雜的正則表達式都是由簡單的子表達式組成的,要想寫出復雜的正則來,一方面需要有化繁為簡的功底,另外一方面,我們需要從正則引擎的角度去思考問題。關于正則
    2020-05-11
  • python 正則表達式語法學習筆記

    python 正則表達式語法學習筆記

    正則表達式(regular expression)描述了一種字符串匹配的模式(pattern),可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的
    2020-05-11
  • linux下關于正則表達式grep的一點總結

    linux下關于正則表達式grep的一點總結

    正則表達式(Regular Expression)是用于描述一組字符串特征的模式,用來匹配特定的字符串。通過特殊字符+普通字符來進行模式描述,從而達到文本匹配目的工具。類似
    2020-05-11
  • 學會Python正則表達式,就看這20個例子(腳本之家修正版)

    學會Python正則表達式,就看這20個例子(腳本之家修正版)

    正則表達式是處理字符串的強大工具。作為一個概念而言,正則表達式對于Python來說并不是獨有的。但是,Python中的正則表達式在實際使用過程中還是有一些細小的差別。
    2020-05-11
  • 正則表達式[\s\S]*與[\w\W]* 什么意思

    正則表達式[\s\S]*與[\w\W]* 什么意思

    問: 例如:[a-z]表示從a到z之間的任意一個。 不是這樣的嗎?誰能給我解釋一下[ ]的所有用法?感謝 答: 是完全通配的意思,\s是指空白,包括空格、換行、tab縮進
    2020-05-11

最新評論

买宝宝用品赚钱吗 捕鱼大富翁外挂 股票配资来大圣配资 腾讯基金理财怎么赚钱 秒速快三官网hf12vip选择 宁夏体彩十一选五五号 河北20选5大星走势图 可以画规律的排列五软件 广东11选五杀号 黑龙江快乐十分麻将 彩票app下载官网下载最新 河南22选5开奖 股票行情实时查询 st股票有哪些 刷秒秒彩 优速配资 上海快3玩法