本文實(shí)例講述了正則表達(dá)式中的正向預(yù)查和負(fù)向預(yù)查。分享給大家供大家參考。具體分析如下:
這里先來看一個(gè)例子,再來解釋什么是正向預(yù)查。
例子:有一段內(nèi)容為"coming soon,going gogogo",要求把com和go查找出來。代碼如下:
復(fù)制代碼 代碼如下:
html>
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也會(huì)匹配。
alert(con.match(reg));
}
/script>
/head>
body>
textarea rows="5" cols="30" name="content">/textarea>br />
button onclick="t1();">正則預(yù)查/button>br />
/body>
/html>
以上面的實(shí)例來講解正向預(yù)查:先查出邊界,再找到與[\w]+匹配的字,(?=ing)表示先向后探測(cè),看看有沒有ing。如果有,則把前面的匹配出來;如果沒有,則光標(biāo)往后移一位,繼續(xù)探測(cè)。這個(gè)過程就是正向預(yù)查:預(yù)先判斷為某個(gè)值 。
所謂負(fù)向預(yù)查,就是預(yù)先判斷不為某個(gè)值。文本框輸入內(nèi)容為"win7,winxp,win95,win98,win2003"
復(fù)制代碼 代碼如下:
html>
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>
上面兩個(gè)例子是從前往后正向/負(fù)向預(yù)查----相關(guān)信息百度搜索"零寬斷言"。JS不支持向前正向/負(fù)向預(yù)查,而PHP支持。
希望本文所述對(duì)大家的正則表達(dá)式學(xué)習(xí)有所幫助。
您可能感興趣的文章:- js使用正則子表達(dá)式匹配首字母與尾字母相同單詞的方法
- jquery使用正則表達(dá)式驗(yàn)證email地址的方法
- PHP中使用正則表達(dá)式提取中文實(shí)現(xiàn)筆記
- javascript正則表達(dá)式使用replace()替換手機(jī)號(hào)的方法
- javascript正則表達(dá)式之search()用法實(shí)例
- php使用正則表達(dá)式獲取圖片url的方法
- jQuery中用dom操作替代正則表達(dá)式
- 正則表達(dá)式實(shí)現(xiàn)將MM/DD/YYYY格式的日期轉(zhuǎn)換為YYYY-MM-DD格式
- Js 正則表達(dá)式知識(shí)匯總
- 淺談php正則表達(dá)式中的非貪婪模式匹配的使用