![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
No.4ベストアンサー
- 回答日時:
#3です。
> $str = "abc";で試してみたのですが駄目でした・・・
失礼。条件を読み違えていました。
「abは許可しない(含めない)」という一文から、「ab を含む文字列を全て拒否」していました。
「ab の完全一致のみを拒否する」のですね。
---
<?php
function test($str){
if (preg_match("/^(?!ab$)[a-z0-9]+$/", $str)) {
echo $str." match<br>\n";
} else {
echo $str." no match<br>\n";
}
}
test('01ab');
test('abc');
test('ab');
?>
---
これで下記条件を満たすことを確認しました。
- 「01ab」「abc」は許可
- 「ab」は許可しない
この回答へのお礼
お礼日時:2009/10/23 04:30
ご返答ありがとうございます。
そのやり方でできました。ありがとうございます。
否定先読みを使わなくちゃいけない理由が
なんとなくですが理解できました。
No.3
- 回答日時:
> if (preg_match("/[^(ab)][a-z0-9]+/", $str)) {
文字クラスは一文字の否定しかできないので、[^(ab)] は意図通りに働きません。
文字列を否定する場合は否定先読みを使います。
それと、^$ がないと部分一致になってしまいますね。
if (preg_match("/^(?:(?!ab)[a-z0-9])+$/", $str)) {
# 未テストですが、上記コードをベースにすれば動くと思います。
この回答へのお礼
お礼日時:2009/10/22 22:45
ご返答ありがとうございます。
$str = "abc";で試してみたのですが駄目でした・・・
ベースにすればとあるのですが、どこか記述を変える必要があるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
、"(ダブルクォーテーション)...
-
正規表現でシングルクォーテー...
-
正規表現で「0」のみ抽出
-
URLをチェックする
-
PHPで変数から1行目だけを取得...
-
VBAのコマンドボタンの文字列の...
-
文字の入力で横バー上段、中断...
-
半角カタカナと・と漢字が混在...
-
Excel関数「COUNTIF」で”文字”...
-
C++で空Enterの入力を判...
-
メッセージボックスで1025文字...
-
C#の改行について
-
記号は半角と全角どちらがよい...
-
VB6 TextBoxの先頭が自動改行...
-
Excel VBAからBeckyを起動して...
-
VBAで英数字入力チェックしたい。
-
エクセルVBA 文字列領域が不足...
-
改行コードが半角スペースにな...
-
テキストボックス行の桁数を制...
-
fputsで改行できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで変数から1行目だけを取得...
-
PHPで<a>タグ内からURLと文字を...
-
、"(ダブルクォーテーション)...
-
VBAを使ってHTMLソースから特定...
-
Excelで数字のみを2倍3倍にする...
-
preg_matchでエラーが出ます。
-
正規表現で「0」のみ抽出
-
「半角数字」と「+」を許可する...
-
正規表現パターンの記入方法に...
-
正規表現で特定のHTMLタグのク...
-
PHPで あるフォルダ内の、特定...
-
phpで文字列に"や'などが含まれ...
-
電話番号のチェック ハイフン...
-
正規表現で不正文字
-
Smartyで部分一致
-
Smartyを使用した、テンプレー...
-
http://とhttps://のどちらでも...
-
正規表現でシングルクォーテー...
-
PHPの正規表現で住所を分けるに...
-
PHPメールフォーム URLと半角...
おすすめ情報