正則表達(dá)式中的正向預(yù)查和負(fù)向預(yù)查實例分析
本文實例講述了正則表達(dá)式中的正向預(yù)查和負(fù)向預(yù)查。分享給大家供大家參考。具體分析如下:
這里先來看一個例子,再來解釋什么是正向預(yù)查。
例子:有一段內(nèi)容為"coming soon,going gogogo",要求把com和go查找出來。代碼如下:
<head>
<script type="text/javascript">
//正向預(yù)查
function t1(){
var con = document.getElementsByName('content')[0].value;
var reg = /\b[\w]+(?=ing\b)/g;//匹配帶ing的單詞,但是不要ing。注意:如果ing后不加\b,類似于goingabc也會匹配。
alert(con.match(reg));
}
</script>
</head>
<body>
<textarea rows="5" cols="30" name="content"></textarea><br />
<button onclick="t1();">正則預(yù)查</button><br />
</body>
</html>
以上面的實例來講解正向預(yù)查:先查出邊界,再找到與[\w]+匹配的字,(?=ing)表示先向后探測,看看有沒有ing。如果有,則把前面的匹配出來;如果沒有,則光標(biāo)往后移一位,繼續(xù)探測。這個過程就是正向預(yù)查:預(yù)先判斷為某個值 。
所謂負(fù)向預(yù)查,就是預(yù)先判斷不為某個值。文本框輸入內(nèi)容為"win7,winxp,win95,win98,win2003"
<head>
<script type="text/javascript">
//正向預(yù)查
function t1(){
var con = document.getElementsByName('content')[0].value;
var reg = /\bwin(?!95\b)/g;//
alert(con.match(reg));
}
</script>
</head>
<body>
<textarea rows="5" cols="30" name="content"></textarea><br />
<button onclick="t1();">正則預(yù)查</button><br />
</body>
</html>
上面兩個例子是從前往后正向/負(fù)向預(yù)查----相關(guān)信息百度搜索"零寬斷言"。JS不支持向前正向/負(fù)向預(yù)查,而PHP支持。
希望本文所述對大家的正則表達(dá)式學(xué)習(xí)有所幫助。
相關(guān)文章
php獲取超鏈接文本內(nèi)容的正則表達(dá)式(五種方法)
正則表達(dá)式在php中應(yīng)用非常廣泛,下面是腳本之家小編跟大家分享的php獲取超鏈接文本內(nèi)容的正則表達(dá)式,感興趣的朋友一起看看吧2015-10-10
editplus EmEditor和searchandreplace正則表達(dá)式
掌握下面的正則方便我們快速的批量處理文本替換。2009-07-07
python 正則表達(dá)式學(xué)習(xí)小結(jié)
這篇文章主要介紹了python 正則表達(dá)式學(xué)習(xí)小結(jié)的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-06-06
javascript正則表達(dá)式學(xué)習(xí)之位置匹配
正則表達(dá)式是匹配模式,要么是匹配字符,要么匹配位置。在開發(fā)中用到位置匹配的機會很少,但是小編也給大家介紹下關(guān)于正則表達(dá)式位置匹配的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2019-04-04
EditPlus中的正則表達(dá)式實戰(zhàn)(5)
這篇文章主要介紹了EditPlus中的正則表達(dá)式實戰(zhàn)(5)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12
PHP html標(biāo)簽正則替換并可自定義正則規(guī)則
PHP有個去除HTML標(biāo)簽的函數(shù)strip_tags,不過對于某些特殊符號不好使,下面這個函數(shù)的功能非常強大,同時用戶還可以根據(jù)自己的需要進(jìn)行正則替換.2010-05-05

