正規表現道場 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
13:nobodyさん 07/01/22 00:49:01 ちょっといいかな。 >>12 の結果に疑問はないのだけど、 >>7 の > preg_match('"^(/(?:[a-z]*))*$"', "//abca", &$m); は空文字列にマッチで正解じゃないの? だって、対象文字列には // と行頭に二つスラッシュが並んでいるけど、 正規表現は ^/ と一個しかないよ? 後ろに $ が置かれちゃってるから、 //hogehoge というパターンには空以外マッチしようがないと思うんだけど 俺、何か勘違いしてる? 14:nobodyさん 07/01/22 01:56:13 >>13 多分、中のアルファベットに対する量指定子を考慮に入れてないんでないかい? ^ # 文字列の最初 ( /(?:[a-z]*) # /の後に[a-z]が0文字以上 )* # の0回以上繰り返し $ # 文字列(行)の最後 //abcaは、<スラッシュ、[a-z]が"0文字"、スラッシュ、[a-z]が4文字>となってマッチしなければならない。はず。 >>11 その目的だとpreg_matchじゃ駄目だと思う。 一個目のキャプチャが繰り返しを全て記録することを期待したんだと思うが、毎回上書きされてしまう。 パス文字列が妥当なものかをマッチングで検証するためにpreg_matchを用いて、 実際の切り分けはexplode等を使ったほうがいいんじゃないかな。スレ違いになるが。 マッチングで切り分けるとするならpreg_match_allを用いて preg_match_all('{\G/[a-z]*}', "//abca", $m) といった感じか
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5335日前に更新/179 KB
担当:undef