0

私は自分のウェブサイトで使用するこの正規表現を持っています

^.*/([a-z0-9,-]+)/([a-z0-9,-]+)/$

私の質問は、正規表現でクエリ文字列を使用できる人です。

/about-us/contact/?l=en -> page.aspx?id=12&l=en

ここで id=1 = /about-us/contact/

ここで、l=en = /?l=en

編集:

^.*/([a-z0-9,-]+)/([a-z0-9,-]+)/(\?l=en)

これでエラーが発生します: \ i C#

?x=x が存在するかどうかを正規表現で判断する方法はありますか? x=x が存在しない場合、/about-us/contact/ の正規表現は一致しますか?

ありがとう、

4

2 に答える 2

0

表現

[\?&](?<name>[^&=]+)=(?<value>[^&=]+)

説明 HTTP クエリ文字列の名前と値のペアを照合し、名前を「name」という名前のグループに、値を「value」という名前のグループに配置します。

一致 -->http://stackoverflow.com/?a=b&c=d

不一致-->http://stackoverflow.com/

著者の評価: ケビン スペンサー。

于 2011-11-30T13:12:16.580 に答える
0

検索パターンに文字を含めたい場合は?、バックスラッシュでエスケープするだけです。したがって、「l=en」を見つけたい場合は、「\?l=en」を探します。

^.*/([a-z0-9,-]+)/([a-z0-9,-]+)/(\?l=en)
于 2009-06-26T12:08:45.530 に答える