正規表現の御質問です。


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回まで
  • 13歳以上
  • 登録:2014/03/28 01:35:08
  • 終了:2014/04/04 01:40:03

回答(3件)

id:jislotz No.1

ジント兄さん回答回数19ベストアンサー獲得回数72014/03/28 03:01:20

ポイント67pt

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

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

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

id:pogpi No.2

POGPI回答回数378ベストアンサー獲得回数502014/03/28 09:00:42

ポイント67pt

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

id:snow0214 No.3

snow0214回答回数470ベストアンサー獲得回数1162014/03/29 10:17:02

ポイント66pt

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

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

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

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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません