No.3ベストアンサー
- 回答日時:
#1の方の回答にあるように、二段階でチェックするのが無難です。
“index”でない文字列にマッチする正規表現て例えばこんなですよ?
(?:(?:(?:(?:(?:(?:(?:(?:[^i]*)*(?:i+[^n][^i]*)*)*)*(?:i+[^d][^i]*)*)*)*(?:i+[^e][^i]*)*)*)*(?:i+[^x][^i]*)*)*
まあ先読みを使うとか他にも手はありますけど。
この回答への補足
ありがとうございます。
なるほど・・・こんなことになってしまうのですか(^_^;)
ちょっと他の方法を考えた方がよいかもしれませんね。
ツールの引数として、正規表現が必要だったので、これを考えていたのですが・・・。
もっと簡単な方法があるのかな、と思っていたので、こんなことになるとは思っていませんでした(^_^;)
ちょっと勉強し直します。
ありがとうございました。
No.5
- 回答日時:
> sakusaker7さん
なるほど、僕の理解不足でした。
sakusaker7さんのおっしゃるとおり、先ほどの例([^index])では、indexもidexnもdexniもxdineもマッチしてしまいます。。
という事で、もっとシンプルに
!preg_match('/.*\/index\.html$/', $url)
で、'index.html'にマッチしない、になるのではないでしょうか?
それとも、既に挙がっているように二重でチェックをするか。
sakusaker7さん、ご指摘ありがとうございました。
No.4
- 回答日時:
>
[^(正規表現)]で(正規表現)にマッチしない、という意になります。
違います。
ブラケットの中ではカッコのペアを使ってもグループ化の役目をしません。
参考に挙げられたURLの文書にも
---
角カッコ
開き角カッコは文字クラス (character class) の開始を表し、 閉じ角カッコにより文字クラスは終了します。閉じ角カッコだけでは、 特別な意味を持ちません。閉じ角カッコを文字クラスのメンバとしたい場合は、 文字クラスの最初の文字(否定のハット記号がある場合はその直後)とするか、 バックスラッシュでエスケープする必要があります。
文字クラスは、検索対象文字列のたかだか 1 文字にマッチします。 マッチする文字は、その文字クラスによって定義された文字集合のうちの どれかです。ただし、文字クラスの最初の文字がハット記号の場合は、 マッチする文字は、その文字クラスに定義されていない文字となります。 ハット記号自体をクラスのメンバとしたい場合は、文字クラスの 最初の文字としないか、バックスラッシュでエスケープしてください。
---
ってありますよ。
No.2
- 回答日時:
僕も正規表現かなり苦手ですが、簡単なマッチでよければ
/^https?:\/\/[a-zA-Z0-9_\.\-\/\~]+[a-zA-Z0-9]+[^index]\.html$/
でいけるはず?です。(未確認)
[^(正規表現)]で(正規表現)にマッチしない、という意になります。
※上のサンプルは、だいぶ適当なのでそのまま利用するとバグが出ると思いますので注意してください。
参考URL:http://jp.php.net/manual/ja/reference.pcre.patte …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラッパークラスって何ですか?
-
PHPのクラス名の付け方
-
「クラス関数」「メンバ関数」...
-
PHP4、PHP5 1ファイル複数クラ...
-
インターフェイスと抽象メソッ...
-
クラス
-
インタフェースとは
-
クラス内でメソッド呼ぶ際、thi...
-
PHPでの継承について
-
プログラムにも慣例みたいなも...
-
透過PNGが透過されない!!
-
データベースへの持続的接続
-
onedrive にexcelファイルをア...
-
MySQLのdatetime型の月日0を削...
-
.phpと.incファイルの違いはな...
-
ファイルの行数取得
-
バッチを用いたフォルダの自動移動
-
Subversionのリポジトリの削除
-
リンク先を隠す方法はないでし...
-
FTPコマンドでディレクトリごと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
・オブジェクト指向のメリット...
-
「クラス関数」「メンバ関数」...
-
ラッパークラスって何ですか?
-
phpのクラスにて別ファイルの変...
-
class定義のphpをファイル分割...
-
PHP4、PHP5 1ファイル複数クラ...
-
クラス
-
配列とオブジェクトの違い
-
'_'(アンダースコア)の使い方...
-
外部ファイルのクラスのインス...
-
PHPのクラス名の付け方
-
PHPでの継承について
-
データベースで値をインクリメ...
-
require_onceについて
-
文字連結中の三項演算子について
-
PHP,privateの使用理由について
-
クラス
-
MVCモデル MV間のデータ共有
-
php インスタンスとオブジェク...
-
インタフェースとは
おすすめ情報