人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

正規表現の御質問です。

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

●質問者: kichitaka
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ジント兄さん
●67ポイント

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

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

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


2 ● pogpi
●67ポイント

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


3 ● snow0214
●66ポイント

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

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

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

/^((?!.*AAA)(?!.*BBB)(?!.*CCC)).+$/
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ