0

文字列に特定の単語がほとんど含まれていないことを確認したい。

4bored4,4blur4,4blingeye4,4bathing4,4congratz4,4crisp4,4curse4、空白とドット。

これが私のコードです

$s = '...... 4crisp4 4crisp4 4crisp4';

preg_match('/^[4bored4|4blur4|4blingeye4|4bathing4|4congratz4|4crisp4|4curse4| |\.]+$/',$s,$m);

しかし、これで失敗しました $s = 'hahahha 4crisp4 4crisp4 4crisp4'; このハハハ語を含む文字列がこのパターンで問題ないのはなぜですか?

この文字列に特定の単語、ドット、空白がない場合は、リターンに失敗したいと思います。

4

2 に答える 2

0

このようにしてみてください

preg_match('/[4bored4|4blur4|4blingeye4|4bathing4|4congratz4|4crisp4|4curse4| |\.]+$/',$s,$m);   

「^」を削除する必要があります。これにより、で始まる一致が得られます

于 2012-09-14T11:32:31.977 に答える
0

when using^は、文字列の先頭でのみ検索することを意味します。And$は、文字列の最後でのみ検索していることを意味します。

これはうまくいきます:

$s = '4crisp4 4crisp4 4crisp4';
preg_match('/^[4bored4|4blur4|4blingeye4|4bathing4|4congratz4|4crisp4|4curse4| |\.]+$/',$s,$m);

これはうまくいきません:

$s = 'asdf 4crisp4 4crisp4 4crisp4';
preg_match('/^[4bored4|4blur4|4blingeye4|4bathing4|4congratz4|4crisp4|4curse4| |\.]+$/',$s,$m);
于 2012-09-14T11:31:48.330 に答える