提问者:小点点

方括号内的交替运算符不起作用


我正在创建一个javascript正则表达式来匹配搜索引擎字符串中的查询。 我对交替有问题。 我有以下正则表达式:

.*baidu.com.*[/?].*wd{1}=

我希望能够匹配除了'wd'之外还有'word'或'qw'的字符串,但是我尝试的一切都是不成功的。 我想我可以做如下的事情:

.*baidu.com.*[/?].*[wd|word|qw]{1}=

但似乎并不奏效。


共2个答案

匿名用户

[wdwordqw]替换为(wdwordqw)

[]表示字符集,()表示逻辑分组。

匿名用户

您的表情:

.*baidu.com.*[/?].*[wd|word|qw]{1}=

需要进行一些更改,包括将[wdwordqw]更改为(wdwordqw),并删除多余的{1},如下所示:

.*baidu.com.*[/?].*(wd|word|qw)=

但是您还需要理解,表达式的第一部分(.*baidu.com.*[/?].*)将匹配baidu.com.*[/?].*),hello what spelling/handle?????或hbaidu-com/,甚至类似lkas---jhdf lkja$@@!3hdsfbaidugcomlaksjhdf.[($?lakshf的内容,因为点(.)匹配除换行以外的任何字符。。。要匹配文字点,您

您可以采用几种方法来匹配URL中的内容,但是如果您告诉我们您正在尝试做什么或完成什么,我们可以帮助您更多--也许正则表达式不是最佳解决方案,或者(编辑)只是最佳解决方案的一部分?