3 回答

TA貢獻(xiàn)1820條經(jīng)驗 獲得超9個贊
向后隱式斷言最近針對JavaScript完成,將在ECMA-262規(guī)范的下一個出版物中發(fā)表。Chrome 66(Opera 53)支持它們,但在撰寫本文時,還沒有其他主流瀏覽器。
var str = 'Text:"How secure is my information?"',
reg = /(?<=Text:")[^"]+(?=")/;
str.match(reg)[0];
// -> How secure is my information?
較舊的瀏覽器不支持JavaScript正則表達(dá)式中的向后搜索。您必須對這樣的表達(dá)式使用捕獲括號:
var str = 'Text:"How secure is my information?"',
reg = /Text:"([^"]+)"/;
str.match(reg)[1];
// -> How secure is my information?
但是,這不會涵蓋所有的后置斷言用例。

TA貢獻(xiàn)1806條經(jīng)驗 獲得超8個贊
我只想添加一些內(nèi)容:JavaScript 不支持像(?<= )
or那樣的后向(?<! )
。
但它確實支持像(?= )
或的先行(?! )
。

TA貢獻(xiàn)1793條經(jīng)驗 獲得超6個贊
您可以這樣做:
/Text:"(.*?)"/
說明:
Text:" :從字面上進(jìn)行匹配
.*? :以非貪婪方式匹配任何內(nèi)容
() :捕獲比賽
" :匹配文字 "
/ / :分隔符
添加回答
舉報