ChromeにRegExpTester拡張機能があります。検索テキストに対する実行パターン[-、]
「james、bayo-いい子だ」は2試合を返す
ただし、以下のようにphpでpreg_matchを実行するとfalseが返されます
<?php
preg_match("[,-]", "james,bayo -is a good boy");
?>
正規表現テスターのように2が返されることを期待して、私は何かが欠けていると確信しています
次のような正規表現区切り文字が必要です。
preg_match("/[,-]/", "james,bayo -is a good boy", $matches);
var_dump( $matches);
これは、コンマまたはダッシュの2文字のいずれかに一致します。また、一致を取得するにはpreg_match()
、一致が保存される場所として3番目のパラメーターをに指定する必要があります。
preg_match()
を使用しているため、最初の一致のみが取得されることに注意してください。したがって、そのままでは、次のように出力されます。
array(1) {
[0]=>
string(1) ","
}
すべての一致が必要な場合は、次preg_match_all()
のように使用する必要があります。
preg_match_all("/[,-]/", "james,bayo -is a good boy", $matches);
var_dump( $matches);
これは以下を出力します:
array(1) {
[0]=>
array(2) {
[0]=>
string(1) ","
[1]=>
string(1) "-"
}
}