[英]Regular expression for this alphanumeric string
$string = 'SSM1234';
preg_match("SS{2,}\M+\[0-9]", $string);
為什么這個正則表達式與我的示例$string
不匹配?
我需要檢查給定的id是電子郵件地址還是ssmid .....還檢查那里的正則表達式
if((!preg_match("/^S{2,}M+[0-9]+$/", $Forgot_field)) || (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/", $Forgot_field))){
$result = "Enter a valid SSM ID or Email ID";
}
這應該有效
$string = 'SSM1234';
$res = preg_match('/^S{2,}M+[0-9]+$/', $string);
你錯過了分隔符/
你的正則表達式匹配至少3 S
,而不是2。
我還添加了匹配的開始( ^
)和結束( $
)。 但這不是強制性的(取決於你的情況)
此SS{2,}
匹配字符串SSS
或SSS[...]
的以下部分,因此至少為3 S
你需要的是:
/^S{2,}M[0-9]+$/
當然,缺少分隔符,如提到的那樣。
這個正則表達式符合以下字符串:
SSM1
SSSM1
SSSSSSM157453247
SSSM123
等等。
如果您需要一個嚴格匹配您的示例字符串的正則表達式,請嘗試:
/^S{2}M\d{4}$/
此正則表達式恰好與S
, M
匹配{2}
次,然后與數字( \\d
)匹配{4}
次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.