簡體   English   中英

JavaScript正則表達式查找字符串

[英]JavaScript regex to find string

我有一個字符串和一個字典中的兩個單詞,我想知道字符串中是否有不是我字典單詞的單詞。

var string = 'foobarfooba';

var patt = new RegExp("[^(foo|bar)]");// words from dictionary
var res = patt.test(string);


console.log(res);//return false

它應該返回true,因為在我的字符串中也有'ba',但是它返回false。

Phil在問題中所評論的一樣,您必須擺脫角色類別:

[^(foo|bar)]
^-- here --^

字符類用於匹配(如果不使用^則不匹配)特定的未排序字符。

只需使用:

var patt = new RegExp("(?:foo|bar)");// words from dictionary

如果要確保所有字符串都與您的正則表達式匹配,則可以使用:

^(?:foo|bar)+$

工作演示

如果要捕獲無效單詞,可以將正則表達式與捕獲組一起使用,如下所示:

^(?:foo|bar)+|(.+)$

工作演示

比賽信息

MATCH 1
1.  [9-11]  `ba`

暫無
暫無

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

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