0

私は次のパターンとグループ化アプリケーションを持っており、それらを1つにリファクタリングしています。以下はxmlファイルに配置され、正規表現エンジンに読み込まれます。

 regexpattern="http://cars.mysite.com(.*)" application="http://www.mysite.com$1"

  regexpattern="http://ww.mysite.com(.*)" application="http://www.mysite.com$1 

    regexpattern="http://(bikes\.|new\.|)mysite.com/(.*)" application="http://www.mysite.com/$2"

これに組み合わせる:

regexpattern="http://(cars\.|ww\.|bikes\.|new\.|)mysite.com(|/)(.*)"  application="http://www.mysite.com/$3"

これは私ができる最善のことですか、もっとうまくできるでしょうか?私はこれに不慣れです。ありがとう。

4

2 に答える 2

2

1.バックスラッシュがありません:

http://(cars\。|ww\。|bikes\。|new \。|)mysite \ .com(| /)(.*)
                                         ^

2.代わりに(|/)使用できます/?

http://(cars\。|ww\。|bikes\。|new \。|)mysite \ .com /?(。*)
                                              ^^

3.スラッシュをオプションにするということmysite.com.co.ukは、おそらくあなたが望むものではないようなものを受け入れることを意味します。

4.もう1つの小さな変更は、\.1回だけ書き込むことです。

http://((cars|ww|bikes|new)\.)?mysite\.com/?(.*)
                           ^^

于 2012-06-14T00:06:18.913 に答える
0

完全な正規表現リファクタリングは次のようになります。

http://((?:(?:car|bike)s|(?:w|ne)w)\.)?mysite\.com/?.*

于 2021-04-08T23:59:06.807 に答える