2

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

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

我希望能够匹配除 'wd' 之外还有字符串 'word' 或 'qw' 的字符串,但我尝试的一切都失败了。我以为我可以执行以下操作:

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

但它似乎不起作用。

4

2 回答 2

7

替换[wd|word|qw](wd|word|qw)(?:wd|word|qw)

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

于 2012-04-04T22:07:12.770 回答
3

你的表情:

.*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的内容,因为点 ( .) 匹配除换行符以外的任何字符...要匹配文字点,您必须使用反斜杠对其进行转义(喜欢\.

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

于 2012-04-04T22:22:01.793 回答