正則表達(dá)式之分組的回溯引用問題
正則表達(dá)式簡介
正則表達(dá)式,又稱規(guī)則表達(dá)式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表達(dá)式通常被用來檢索、替換那些符合某個(gè)模式(規(guī)則)的文本。
許多程序設(shè)計(jì)語言都支持利用正則表達(dá)式進(jìn)行字符串操作。例如,在Perl中就內(nèi)建了一個(gè)功能強(qiáng)大的正則表達(dá)式引擎。正則表達(dá)式這個(gè)概念最初是由Unix中的工具軟件(例如sed和grep)普及開的。正則表達(dá)式通??s寫成“regex”,單數(shù)有regexp、regex,復(fù)數(shù)有regexps、regexes、regexen。
引子
前端開發(fā)中,難免會遇到需要匹配標(biāo)簽的需求,這么簡單的需求,不就是兩個(gè)尖括號包裹一個(gè)標(biāo)簽名嘛,接下來一頓操作,
/<[\w]+>.*<\/[\w]+>/g
,然后完美匹配了<div>xx</div>
等內(nèi)容,需求完成…
等等,咋看之下,當(dāng)前正則確實(shí)能匹配各種標(biāo)簽,但是它同樣能匹配類似
<div>xx</p>
的內(nèi)容。這就意味著我們需要保持兩個(gè)尖括號內(nèi)的內(nèi)容相同才行。
正則之分組回溯引用 分組 ()
所謂分組,就是把要匹配的內(nèi)容放在括號()里。括號里的內(nèi)容可以視為是一個(gè)整體的子表達(dá)式
/<([\w]+)>.*<\/([\w]+)>/g
回溯引用 \N
正則表達(dá)式還提供了一種引用之前匹配分組的機(jī)制,有些時(shí)候,我們或許會尋找到一個(gè)子匹配,該匹配接下來會再次出現(xiàn)。
// 該表達(dá)式中的 \1 就是整個(gè)表達(dá)式中的第一個(gè)分組 var reg = /<([\w]+)>.*<\/\1>/ reg.test('<div>xx</div>') // true reg.test('<div>xx</p>') // false
到此這篇關(guān)于正則表達(dá)式之分組的回溯引用問題的文章就介紹到這了,更多相關(guān)正則表達(dá)式回溯引用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
8個(gè)你應(yīng)該了解的正則表達(dá)式提高你的工作效率
正則表達(dá)式也可以被當(dāng)作是一門語言,入門時(shí)可能很吃力,不過一旦學(xué)會了就方便很多,在處理一些比較復(fù)雜的替換時(shí),正則表達(dá)式就會發(fā)揮它的真正作用,本文整理了一些常用的正則,感興趣的朋友可以了解下,或許對你有所幫助2013-01-01eclipse、myeclipse中刪除所有注釋正則表達(dá)式
這篇文章主要介紹了eclipse、myeclipse中刪除所有注釋正則表達(dá)式,本文直接給出正則表達(dá)式代碼,需要的朋友可以參考下2015-07-07