正規表現の御質問です。


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 以外 というような書き方

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/04/04 01:40:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:jislotz No.1

回答回数19ベストアンサー獲得回数7

ポイント67pt

/^XXX\.ne\.jp\/(?!$|[\w-]+\/$)/g でトップドメイン及びトップ下ディレクトリについて除いたものに
マッチさせることができます。
「及び特定のURL」というのが具体的にどのようなものなのかによって、もっと違う正規表現になります。

x(?!y) で、後ろにyが続いていないxにマッチします。否定先読みといいます。
x|yで、xまたはyにマッチします。

JavaScriptの正規表現以外あまり知らないので役立たずな回答になってるかもしれません。
否定演算子 ! が使える方言であればもっとシンプルに書けるかもしれません。

id:pogpi No.2

回答回数428ベストアンサー獲得回数59

ポイント67pt

XXX.ne.jp¥/[A-Z]+¥/[A-Z]+¥/[A-Z]+でどうですか。「¥」はエスケープ用。半角で。

id:snow0214 No.3

回答回数470ベストアンサー獲得回数116

ポイント66pt

こんな感じでどうでしょう。

/^[^\/]+\/[^\/]+\/[^\/]+\/

>また、正規表現で and のような組み合わせは出来るのでしょうか
できません。
例の場合は、「AAA または BBB または CCC 以外」という考え方をして、Perl五感正規表現が使えれば、以下のような表現になります。
正規表現はANDや否定が苦手なので、逆の考え方をした方がいいです。

/^((?!.*AAA)(?!.*BBB)(?!.*CCC)).+$/

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません