Javascript regexp逻辑与或
我知道有一些逻辑运算符,如Javascript regexp逻辑与或,javascript,regex,Javascript,Regex,我知道有一些逻辑运算符,如|“OR运算符”,可以这样使用: earth|world 我想知道我怎么能检查我的字符串是否包含地球和世界 问候,, 亚历山大这个问题是在这里提出并回答的: 没有直接的“and”运算符,但您可以继续表达式测试,并确保第二个表达式也是匹配的。如果它包含地球和世界,则它将一个接一个地包含,因此: earth.*world|world.*earth 较短的备选方案(使用扩展正则表达式语法)是: /(?=.*earth)(?=.*world).*/ 但它根本不像和操作符
|
“OR运算符”,可以这样使用:
earth|world
我想知道我怎么能检查我的字符串是否包含地球和世界
问候,,
亚历山大这个问题是在这里提出并回答的:
没有直接的“and”运算符,但您可以继续表达式测试,并确保第二个表达式也是匹配的。如果它包含地球和世界,则它将一个接一个地包含,因此:
earth.*world|world.*earth
较短的备选方案(使用扩展正则表达式语法)是:
/(?=.*earth)(?=.*world).*/
但它根本不像
和操作符。您只能执行或
,因为如果只包含一个单词,则不涉及排序。如果你想两者都有,你需要指出顺序。做两个测试,如果第一个测试失败,第二个测试不会在javascript中执行。e、 g
var hasBoth = /earth/i.test(aString) && /world/i.test(aString);
你不需要操作员,实际上是操作员做的
let string='世界和地球太棒了';
让regex=/world | earth/ig;
让result=string.replace(regex,“…”);
console.log(字符串);
控制台日志(结果)代码>重复我不会称第二个版本为hackish-相反,特别是当涉及两个以上的条件时,我发现顺序查找变得更加简单。这个正则表达式看起来可能执行得非常糟糕,/^(?=.*earth)(?=.*world)/
会更好。并不总是方便,如果知道如何使用一个正则表达式来实现这一点,那将是一件很好的事情