我想检查字符串中的特定模式。我的模式包含3个部分:
我正在使用以下正则表达式:
preg_match('/ ^ [a-zA-Z0-9] + [@ \-] * [a-zA-Z0-9] + $ / i');
并在字符串上进行了测试:
a-121kabrastreet @ 90
,其值为false。请纠正我的逻辑。 谢谢
答案 0 :(得分:1)
字母和数字也应添加到中间的字符类中。请注意,如果连字符位于字符类末尾,则不必转义。
^[a-zA-Z0-9][@a-zA-Z0-9-]*[a-zA-Z0-9]$
^^^^^^^^^
使用不区分大小写的标志,您的模式可能类似于:
/^[a-z0-9][@a-z0-9-]*[a-z0-9]$/i