首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >此字母数字字符串的正则表达式

此字母数字字符串的正则表达式
EN

Stack Overflow用户
提问于 2013-11-28 16:21:47
回答 2查看 51关注 0票数 0
代码语言:javascript
复制
$string = 'SSM1234';
preg_match("SS{2,}\M+\[0-9]", $string);

为什么这个正则表达式与我的示例$string不匹配

我需要检查给定的id是电子邮件地址还是ssmid.....also检查是否有正则表达式

代码语言:javascript
复制
    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";
}
EN

回答 2

Stack Overflow用户

发布于 2013-11-28 16:26:15

这应该是可行的

代码语言:javascript
复制
$string = 'SSM1234'; 
$res = preg_match('/^S{2,}M+[0-9]+$/', $string);

您错过了分隔符/和您的正则表达式匹配至少3 S,而不是2。

我还添加了匹配的开始(^)和结束($)。但这不是强制性的(这取决于你的情况)

票数 1
EN

Stack Overflow用户

发布于 2013-11-28 16:27:50

SS{2,}与字符串SSSSSS[...]的以下部分匹配,因此至少有3个S

您需要的是:

代码语言:javascript
复制
/^S{2,}M[0-9]+$/

当然还有缺失的分隔符,就像之前提到的那样。

此正则表达式匹配字符串,如下所示:

代码语言:javascript
复制
SSM1
SSSM1
SSSSSSM157453247
SSSM123

诸若此类。

如果您需要一个与示例字符串严格匹配的正则表达式,请尝试:

代码语言:javascript
复制
/^S{2}M\d{4}$/

这个正则表达式精确地匹配{2}乘以S,再匹配M,然后匹配{4}乘以数字(\d)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20260959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档