本文實例講述了JS前向後瞻正規表示式定義與用法。分享給大家供大家參考,具體如下:
定義
x(?=y) 匹配'x'僅僅當'x'後面跟著'y'.這種叫做正向肯定查找。
比如,/Jack(?=Sprat)/會配對到'Jack'僅僅當它後面跟著'Sprat'。 /Jack(?=Sprat|Frost)/匹配‘Jack'僅僅當它後面跟著'Sprat'或者是‘Frost'。但是‘Sprat'和‘Frost'都不是匹配結果的一部分。
x(?!y) 匹配'x'僅僅當'x'後面不跟著'y',這個叫做正向否定查找。
例如,/d+(?!.)/匹配一個數字僅僅當這個數字後面沒有跟小數點的時候。正規表示式/d+(?!.)/.exec("3.141")符合'141'但不是'3.141'
form https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/ Guide/Regular_Expressions
範例:
<html> <head> </head> <body> <input id="test" type="text" value="" /> <input id="test" type="text" value="" /> <input id="test" type="text" value="" /> <input id="test" type="text" value="" /> <input id="test" type="text" value="" /> <script> var testStr = "windows 95" /* 1 - 不带子表达式匹配 */ var testReg = /^windows .*$/ var result = testStr.match(testReg); console.log("/^windows .*$/="+result) // /^windows .*$/=windows 95 /* 2 - 带子表达式匹配 */ var testReg = /^windows (.*)$/ var result = testStr.match(testReg); console.log("/^windows (.*)$/="+result) // /^windows (.*)$/=windows 95,95 /* 3 - 带子表达式,不记录其匹配结果 */ var testReg = /^windows (?:.*)$/ var result = testStr.match(testReg); console.log("/^windows (?:.*)$/="+result) // /^windows (?:.*)$/=windows 95 /* 4 - 前瞻匹配,匹配位置,正匹配 */ var testReg = /^windows (?=95)95$/ var result = testStr.match(testReg); console.log("/^windows (?=.*)$/="+result) // /^windows (?=.*)$/=windows 95 /* 5 - 前瞻匹配,匹配位置,负匹配 */ var testStr = "windows me" var testReg = /^windows (?!95)me$/ var result = testStr.match(testReg); console.log("/^windows (?!\d*)$/="+result) // /^windows (?!d*)$/=windows me </script> </body> </html>
希望本文所述對大家JavaScript程式設計有所幫助。
更多JS前向後瞻正規表示式定義與用法範例相關文章請關注PHP中文網!