2012-04-04 8 views
0

私は、検索エンジンの文字列内のクエリに一致するようにjavascriptの正規表現を作成しています。私は交代で問題を抱えています。私は、次の正規表現を持っている:JavaScriptの正規表現の変更

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

私は「WD」に加えて、文字列「言葉」または「QW」を持っている文字列を一致させることができるようにしたいが、私はしようと、すべてが失敗しました。

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

私は次のようなことができると思いました。

+1

'[]'は文字クラスを作成し、代わりに '(wd | word | qw)'を使います。また、 '{1}'を取り除くと無駄です。 – NullUserException

+0

あなたが達成しようとしていることに関するもう少しの文脈は、あなたにもっと多くの手助けをするのに役立ちます:D –

答えて

3

[wd|word|qw](wd|word|qw)に置き換えます。

[]は文字セットを示し、()は論理グループを示します。

+0

+1 ...しかし、一歩進んで、 "replace"(wd | word | qw) 'qw | w(?:or)?d'を使って – zx81

2

あなたの式:

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

しかし、あなたも理解しておく必要があります

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

そうのように、(wd|word|qw)から[wd|word|qw]冗長{1}を取り払うことを含む、いくつかの変更を必要としません式の最初の部分(.*baidu.com.*[/?].*)はbaidu.com hello what spelling/handle?????????またはhbaidu-com/と一致します。電子lkas----jhdf [email protected]@!3hdsfbaidugcomlaksjhdf.[($?lakshf、ドット(.)は改行以外の任意の文字と一致するため...文字通りのドットを一致させるために、あなたは(\.のような)、バックスラッシュでエスケープする必要が

あなたが物事を一致させるために取ることができるいくつかの方法があります。あなたが何をやろうとしているのかを教えてもらえればもっと助けになるかもしれません。おそらく正規表現は最良の解決策ではないでしょうか?EDITベストソリューション?