我正在创建一个javascript正则表达式来匹配搜索引擎字符串中的查询。我有一个交替的问题。我有以下正则表达式:
.*baidu.com.*[/?].*wd{1}=
除了'wd'之外,我希望能够匹配具有字符串'word'或'qw'的字符串,但我尝试的所有内容都不成功。我以为我可以做类似以下的事情:
.*baidu.com.*[/?].*[wd|word|qw]{1}=
但它似乎不起作用。
答案 0 :(得分:3)
将[wd|word|qw]
替换为(wd|word|qw)
。
[]
表示字符集,()
表示逻辑分组。
答案 1 :(得分:2)
你的表达:
.*baidu.com.*[/?].*[wd|word|qw]{1}=
确实需要进行一些更改,包括[wd|word|qw]
到(wd|word|qw)
和摆脱多余的{1}
,如下所示:
.*baidu.com.*[/?].*(wd|word|qw)=
但您还需要了解表达式的第一部分(.*baidu.com.*[/?].*
)将与baidu.com hello what spelling/handle?????????
或hbaidu-com/
匹配,甚至与lkas----jhdf lkja$@@!3hdsfbaidugcomlaksjhdf.[($?lakshf
匹配,因为点( .
)匹配除换行符之外的任何字符...以匹配文字点,您必须使用反斜杠(如\.
)
您可以采用多种方法来匹配网址中的内容,但如果您告诉我们您要执行或完成的工作,我们可以为您提供更多帮助 - 也许正则表达式不是最佳解决方案或( EDIT < / strong>)只有 part 的最佳解决方案?