簡體   English   中英

使用正則表達式的兩個預讀字符串

[英]Two look-ahead strings using regex

我有一個簡單的正則表達式,如下所示:

var myRegex = /%(?!FOO%)([A-Za-z_]*)%/g; 

我想做的是找到兩個不是FOO %引號之間的實例。 因此,類似BARWHATEVER等的任何事物都將匹配。

我的問題是,將其擴展為查找多個字符串的最佳方法是什么? 假設我想匹配所有非FOOBAR

var myRegex = /%(?!(FOO|BAR)%)([A-Za-z_]*)%/g; 

我嘗試了上述變體,但似乎只能找到第一個匹配項FOO 如何找到兩者?

您可以嘗試執行以下操作:( 假設您要完成此操作

通用方式帶后支持

(?<=%)(?!FOO|BAR)(\w+)(?=%)

JavaScript方式 (無后支持

 var str = '%FOO%HELLO%BAR%WORLD%'; var match = str.match(/%(?!FOO|BAR)(\\w+)(?=%)/g).map(e => { return e.replace('%', ''); }); console.log(match); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM