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」は許可しない
ご返答ありがとうございます。
そのやり方でできました。ありがとうございます。
否定先読みを使わなくちゃいけない理由が
なんとなくですが理解できました。
No.3
- 回答日時:
> if (preg_match("/[^(ab)][a-z0-9]+/", $str)) {
文字クラスは一文字の否定しかできないので、[^(ab)] は意図通りに働きません。
文字列を否定する場合は否定先読みを使います。
それと、^$ がないと部分一致になってしまいますね。
if (preg_match("/^(?:(?!ab)[a-z0-9])+$/", $str)) {
# 未テストですが、上記コードをベースにすれば動くと思います。
ご返答ありがとうございます。
$str = "abc";で試してみたのですが駄目でした・・・
ベースにすればとあるのですが、どこか記述を変える必要があるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロを簡潔にしたい 6 2022/09/16 10:37
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Excel(エクセル) Excel 文字列を結合するときに重複をなくしたい 関数・VBA 2 2022/12/12 10:40
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- 数学 数学の質問です。 △ABCにおいて, ∠Aの二等分線が BC と交わる点をRとする。 辺BC, CA 2 2023/07/13 23:58
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- 数学 右の図で、BCの長さを四捨五入して、 小数第1位まで求めなさい。 図は三角形ABCで、∠Aが50度、 3 2022/07/28 01:17
- 数学 エステルレ博士の奇怪なABC予想の証明とは? 1 2022/04/18 15:37
- 数学 交代式と整数問題 17 2023/03/06 16:52
- 人類学・考古学 ドローンを飛ばして間近で古墳調査をするのって、宮内庁の許可は必要なのかな? 5 2023/03/04 09:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを使ってHTMLソースから特定...
-
正規表現について
-
PHPで あるフォルダ内の、特定...
-
、"(ダブルクォーテーション)...
-
preg_matchでエラーが出ます。
-
正規表現パターンの記入方法に...
-
PHPで<a>タグ内からURLと文字を...
-
php 正規表現で(ただし○○は除...
-
特定の範囲間を取得する方法に...
-
Smartyで部分一致
-
正規表現での改行数を求めるに...
-
Cプログラム内で、C++コンパイ...
-
正規表現で、半角大文字と半角...
-
PHPの「ereg」って何の略で...
-
Excelで数字のみを2倍3倍にする...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
ファイルから読み取った改行文...
-
メッセージボックスで1025文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを使ってHTMLソースから特定...
-
、"(ダブルクォーテーション)...
-
PHPで変数から1行目だけを取得...
-
PHPで<a>タグ内からURLと文字を...
-
正規表現で「0」のみ抽出
-
Excelで数字のみを2倍3倍にする...
-
PHPで あるフォルダ内の、特定...
-
正規表現で特定のHTMLタグのク...
-
正規表現でシングルクォーテー...
-
preg_matchでエラーが出ます。
-
電話番号のチェック ハイフン...
-
正規表現パターンの記入方法に...
-
Smartyで部分一致
-
住所から特定の文字列、数値を...
-
preg_match : マッチした位置の...
-
http://とhttps://のどちらでも...
-
日本語の文字列のみをURLエンコ...
-
Smartyを使用した、テンプレー...
-
PHPによるIPアドレスマッチ
-
PHP:preg_match_allで複数条件...
おすすめ情報