我不太了解正则表达式,我想创建一个匹配两个字符串的正则表达式。
我知道对于一个字符串,代码是 .match(/something/)
如果匹配两个字符串,它是 .match(/something|someotherthing/)
如何编写仅当在文本中找到两个字符串时才匹配的字符串,例如“google microsoft”
最佳答案
要使用单个正则表达式来完成此操作,您需要考虑它们可能以任一顺序出现的事实。 (.*
匹配两个子字符串之间的任何字符):
/google.*microsoft|microsoft.*google/
注意:如果你想做 2 个以上的子字符串,这会失控。 3 个字符串可以按 6
不同的顺序排列,5 个字符串可以按 120
的顺序排列,10 个子字符串可以按 3628800
不同的顺序排列!这就是为什么使用语言 (Javascript) 本身的特性,比如在 Explosion Pills 的回答中,比尝试使用正则表达式做太多事情要好得多。
关于匹配两个字符串的Javascript正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18496715/