2011-07-26 10 views
0

私はそれがIDが1211に等しい場合ではないこの正規表現で何が問題になっていますか?

^article\/article_story\.aspx(\?id\=(?!1211)[0-9]{1,4})?$ 

だから、効果的にそれが一致してはならないはずですし、それがID 1212それを言う一致した場合に式がしかし渡されたとき、まだ一致しているようですが、以下の正規表現を持っていますhttp://regexr.com?2uam7


そして、あなたは不必要に協力している:IDは確かに1211

+1

私にとってはうまくいくようです:http://regexr.com?2uam4 –

+1

多分正規表現を使ってIDを抽出し、そのIDがあなたが望むものであるかどうかを確認するべきです。 –

+0

こんにちは、私はそれを試して、それは動作します。 idが1211の場合、式は一致しません。 sidenoteとして、等号( '=')をエスケープする必要はありません。 – Francisc

答えて

3

ときnecesarryタスクは、しかし、まだ私はそれが1211を見るマッチしていないと一致するように思わ行い、巨大な正規表現と(!...)でそれを複製します。 id部分(グループ)と一致させ、それが1211でないかどうかを調べることができます。正規表現ですべてを行う必要はありません。

+0

ありがとうございます。どういう意味? – PeanutsMonkey

関連する問題