XXX.ne.jp/AAA/DGB/ADG
XXX.ne.jp/BBB/HHH/TGH
XXX.ne.jp/CCC/JUI/TEG
XXX.ne.jp/
XXX.ne.jp/AAA/
XXX.ne.jp/BBB/
XXX.ne.jp/CCC/
上記のようなリストから
XXX.ne.jp/AAA/DGB/ADG
XXX.ne.jp/BBB/HHH/TGH
XXX.ne.jp/CCC/JUI/TEG
のみ抜き出すには正規表現でどのように記すべきでしょうか?
URLの羅列からトップドメイン及びトップ下ディレクトリ及び特定のURLを除きたいのです。
また、正規表現で and のような組み合わせは出来るのでしょうか
例 AAA BBB CCC 以外 というような書き方
/^XXX\.ne\.jp\/(?!$|[\w-]+\/$)/g でトップドメイン及びトップ下ディレクトリについて除いたものに
マッチさせることができます。
「及び特定のURL」というのが具体的にどのようなものなのかによって、もっと違う正規表現になります。
x(?!y) で、後ろにyが続いていないxにマッチします。否定先読みといいます。
x|yで、xまたはyにマッチします。
JavaScriptの正規表現以外あまり知らないので役立たずな回答になってるかもしれません。
否定演算子 ! が使える方言であればもっとシンプルに書けるかもしれません。
こんな感じでどうでしょう。
/^[^\/]+\/[^\/]+\/[^\/]+\/
>また、正規表現で and のような組み合わせは出来るのでしょうか
できません。
例の場合は、「AAA または BBB または CCC 以外」という考え方をして、Perl五感正規表現が使えれば、以下のような表現になります。
正規表現はANDや否定が苦手なので、逆の考え方をした方がいいです。
/^((?!.*AAA)(?!.*BBB)(?!.*CCC)).+$/
コメント(0件)