0

この種の文字列を preg_match するために正規表現を使用したいのですが:

$liste = 'bla0bla-__my_separator_-01blabla';

私はもう試した :

if(preg_match('/^[a-zA-Z0-9]_my_separator_[a-zA-Z0-9]$/', $liste))
     echo 'ok';
else echo 'not ok';

しかし、これは常にnot okを返します。

アドバイスをマスターしてください。

PS: 問題は_-で、私が試したものはサポートしていないと思います!

前もって感謝します。

4

3 に答える 3

3

正規表現パターンを次のように変更します。

'/^[a-zA-Z0-9_\-]+?_my_separator_[a-zA-Z0-9_\-]+?$/'
于 2013-01-08T17:41:32.580 に答える
3

静的部分文字列が文字列に存在するかどうかを判断するだけの場合は、次を使用する必要がありますstrpos()

if (strpos('_my_separator_', $liste) !== false) {
  echo 'ok';
}
于 2013-01-08T17:42:43.137 に答える
2

+ホワイトリストにリピーターand -and andがありません_:

/^[a-zA-Z0-9\-_]+_my_separator_[a-zA-Z0-9\-_]+$/

元の正規表現は次のようなものと一致します。

A_my_seperator_B
0_my_seperator_C

だがしかし:

AB_my_seperator_C
于 2013-01-08T17:39:25.830 に答える