javascript正则表达式如何表达同时包含多个字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript正则表达式如何表达同时包含多个字符串相关的知识,希望对你有一定的参考价值。

例如:返回同时包含apple 和 banana的字符串,如下字符串全部匹配
1、 apple,banana,orange
2、 banana,apple,orange
3、 banana,orange,apple
4、 orange,banana,pear,apple,peach

参考技术A 接二楼的
/.*apple.*banana.*|.*banana.*apple.*/
参考技术B var reg = /^(?!((?:(?!banana).)*apple(?:(?!banana).)*|(?:(?!apple).)*banana(?:(?!apple).)*)$)(.*(apple|banana).*)$/;
var str = "orange,banana,pear,apple,peach";
console.log(reg.test(str));

参考技术C /apple|banana|orange/
比如/apple|banana|orange/.test("apple")
参考技术D /apple.*banana|banana.*apple/ 我想这样的应该能够满足你的要求追问

我这只是举个例子,实际上不只是包含两个字符串,而是可能是N个。。。

本回答被提问者采纳

正则表达同时包含2个甚至多个关键字 content.contains(keyword1)&&content.contains(keyword2)

有三个字符串如何匹配同时包含两个关键字的字符串

str1 = "this is the first check run" str2 = "the first run" str3 = "the first time runing" 有两个关键字(“first ”、”check “) 正则表达式怎么写 然后匹配到str1
// regExp (?=.*我是谁)(?=.*C)^.*$
// java code
List<String> list = Arrays.asList(new String[]
     
    "this is the first check run",
    "the first run",
    "the first time runing"
);
 
List<String> matches = new ArrayList<String>();
 
for(String word : list)
     
    //包含check且包含first
    if(word.matches("(?=.*check)(?=.*first)^.*$"))
        matches.add(word);

 
System.out.println(Arrays.toString(matches.toArray()));

以上是关于javascript正则表达式如何表达同时包含多个字符串的主要内容,如果未能解决你的问题,请参考以下文章

易语言正则表达式中,如何匹配多个关键词,例如我要在“你好我是地球人”中匹配“好”和“地”

JavaScript中的正则表达式

LeetCode10.正则表达式匹配 JavaScript

JavaScript之RegExp对象

JavaScript正则表达式详解

带有 jQ​​uery 的 Javascript 正则表达式包含正则表达式扩展