测试一个字符串是否等于其中一个字符串(使用正则表达式)

san*_*hez 5 php regex

怎么能用正则表达式完成?

 return ( $s=='aa' || $s=='bb' || $s=='cc' || $s=='dd' ) ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)

我在尝试:

 $s = 'aa';
 $result = preg_match( '/(aa|bb|cc|dd)/', $s );
 echo $result; // 1 
Run Code Online (Sandbox Code Playgroud)

但显然1如果$s包含一个或多个指定的字符串(而不是等于其中一个字符串)则返回.

Avi*_*Raj 9

您需要使用开始^和结束$锚点来进行精确的字符串匹配.

$result = preg_match( '/^(aa|bb|cc|dd)$/', $s );
Run Code Online (Sandbox Code Playgroud)