濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > javascript中10個(gè)正則表達(dá)式使用介紹基礎(chǔ)篇

javascript中10個(gè)正則表達(dá)式使用介紹基礎(chǔ)篇

熱門(mén)標(biāo)簽:外呼系統(tǒng)無(wú)呼出路由是什么原因 400電話辦理電話辦理 貴港公司如何申請(qǐng)400電話 梅縣地圖標(biāo)注 呼叫系統(tǒng)外呼只能兩次 西藏智能外呼系統(tǒng)代理商 甘肅醫(yī)療外呼系統(tǒng)排名 地圖標(biāo)注教學(xué)點(diǎn) ai電話機(jī)器人搭建

在 JavaScript 中,正則表達(dá)式通常用于兩個(gè)字符串方法 : search() 和 replace()。

search() 方法 用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串,并返回子串的起始位置。

replace() 方法 用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。

1.匹配模式

正則表達(dá)式查找與模式匹配的字符串部分

在JavaScript中,它們是在正斜杠之間//或使用new RegExp()

例如:

var str = "Visit Jb51.net!";
var n = str.search(/jb51.net/i);

 例子2

script language="javascript">
var reg=new RegExp("終古","g"); //創(chuàng)建正則RegExp對(duì)象
var stringObj="終古人民共和國(guó),終古人民";
var newstr=stringObj.replace(reg,"中國(guó)");
alert(newstr);
/script>

例子3

function dotag()
{
第一種寫(xiě)法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,還得多加一個(gè)\,\\w,所以一般情況下,我們都是用//.

更多的可以參考這篇文章:JavaScript replace new RegExp使用介紹

然后用于match , test或replace

您可以預(yù)先定義正則表達(dá)式,也可以直接在調(diào)用方法時(shí)定義

2.匹配多個(gè)

一次匹配單個(gè)字符,

或?qū)⒍鄠€(gè)字符放在方括號(hào)[]中以捕獲任何匹配的字符

使用連字號(hào)捕獲一系列字符-.

舉例

[0-9]表示0,1,2...9的數(shù)字

[a-z]表示26個(gè)小寫(xiě)字母

[A-Z]表示26個(gè)大寫(xiě)字母

3.可選標(biāo)志

在正則表達(dá)式的末尾添加可選標(biāo)志,以修改匹配器的工作方式。

在JavaScript中,這些標(biāo)志是:

i =不區(qū)分大小寫(xiě) m =多行匹配 g =全局匹配(查找全部,而不是查找一個(gè))

4.開(kāi)始和結(jié)束

在開(kāi)始處使用插入符號(hào)^表示“字符串開(kāi)始”

在末尾使用美元符號(hào)$表示“字符串結(jié)尾”

開(kāi)始將匹配項(xiàng)組合在一起以匹配更長(zhǎng)的字符串

在表單驗(yàn)證中,需要前面加 ^后要加$

更多的可以參考這篇文章:https://www.jb51.net/article/118265.htm

5.通配符

使用通配符和特殊的轉(zhuǎn)義字符來(lái)匹配較大類(lèi)的字符

. =除換行符外的任何字符

\ d =數(shù)字 \ D =不是數(shù)字

\ s =空格 \ S =任何非空白

\ n新行 \w非空字母

6.特定數(shù)量

僅將特定數(shù)量的匹配字符或組與量詞匹配

=零或更多 =還有一個(gè)? = 0或1 {3} =正好3倍{2,4} =兩倍,三倍或四倍{2,} =兩倍或更多倍

7.小括號(hào)匹配組

使用parens()捕獲組

match會(huì)返回完整匹配加上組,除非您使用g標(biāo)志

使用管道運(yùn)算符| 在parens()內(nèi)部以指定該組匹配的內(nèi)容

| =或

8.反斜杠

要匹配特殊字符,請(qǐng)使用反斜杠\

JS正則表達(dá)式中的特殊字符是:^ $ \. * +? ()[] {} |

因此,要匹配一個(gè)星號(hào),可以使用:

\ *

不只是*

9.中括號(hào)里的^

要匹配某個(gè)字符但要匹配某個(gè)字符,請(qǐng)?jiān)诜嚼ㄌ?hào)內(nèi)使用插入號(hào)^

這意味著^有兩個(gè)含義,可能會(huì)造成混淆。

當(dāng)它在正則表達(dá)式的前面時(shí),它表示“字符串的開(kāi)始”,而在方括號(hào)內(nèi)使用時(shí),則表示“不是此字符”。

10.總結(jié)

正則表達(dá)式可用于查找和匹配各種內(nèi)容,從url到文件名

然而! 如果您嘗試將正則表達(dá)式用于真正復(fù)雜的任務(wù),請(qǐng)務(wù)必謹(jǐn)慎,例如解析電子郵件(這確實(shí)令人困惑,非??欤┗騂TML(非常規(guī)語(yǔ)言,因此無(wú)法由正則表達(dá)式完全解析)

正則表達(dá)式還有(當(dāng)然)還有更多,例如懶惰vs貪婪,超前和捕獲

更多的可以查看這篇文章:https://www.jb51.net/article/181099.htm

但是大多數(shù)web開(kāi)發(fā)人員想要使用正則表達(dá)式的東西都可以?xún)H使用這些基本構(gòu)建塊。

我已經(jīng)在寫(xiě)一堆有關(guān)真實(shí)世界正則表達(dá)式用例的后續(xù)文章🎉

原文:https://dev.to/chrisachard/intro-to-regex-for-web-developers-2fj4

譯文:http://caibaojian.com/10-regex-tip.html

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

您可能感興趣的文章:
  • 正則表達(dá)式30分鐘入門(mén)教程
  • 揭開(kāi)正則表達(dá)式的神秘面紗(regexlab出品)

標(biāo)簽:泰安 湖州 本溪 哈密 大興安嶺 涼山 常州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《javascript中10個(gè)正則表達(dá)式使用介紹基礎(chǔ)篇》,本文關(guān)鍵詞  javascript,中,10個(gè),正則,表達(dá)式,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《javascript中10個(gè)正則表達(dá)式使用介紹基礎(chǔ)篇》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于javascript中10個(gè)正則表達(dá)式使用介紹基礎(chǔ)篇的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    潜江市| 长白| 东兰县| 循化| 仙游县| 黑水县| 台江县| 潍坊市| 滕州市| 平阴县| 德昌县| 秦皇岛市| 霍林郭勒市| 武城县| 武宁县| 巴林右旗| 兴宁市| 卓资县| 定兴县| 会同县| 台中县| 锡林浩特市| 黎城县| 报价| 凉山| 宁南县| 吉木乃县| 巴林右旗| 治多县| 类乌齐县| 泸定县| 霍邱县| 大厂| 章丘市| 黄平县| 浦江县| 广河县| 大新县| 黄冈市| 遂平县| 弥勒县|