首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中查找带有regex的字符串

在php中查找带有regex的字符串
EN

Stack Overflow用户
提问于 2014-03-24 13:50:36
回答 2查看 72关注 0票数 0

我是regex的新手,因此我浏览了php regex手册,并尝试了以下内容:

我有一根这样的绳子:

c-1

c-10

c-100等最新的c-unlimited

现在,我想确认来的字符串是一个有效的字符串,它以c-开头,在c-之后,它只包含数字。

为了完成这项工作,我使用了preg_match

代码语言:javascript
复制
$slug='c-12';

if(preg_match("/\[c-(.*?)]/",$slug,$result)){ echo "TRUE";}
else{ echo "FALSE"; }

此外,还包括:

代码语言:javascript
复制
$pattern = '/^c-/';
if(preg_match($pattern, substr($slug,2), $matches, PREG_OFFSET_CAPTURE){ echo "TRUE";}
else{ echo "FALSE"; }

此外,这也是:

代码语言:javascript
复制
$pattern = '/^c-/';
if(preg_match($pattern, $slug, $matches, PREG_OFFSET_CAPTURE, 3){ echo "TRUE";}
else{ echo "FALSE"; }

还有一件事,我也想从末端验证字符串。如下所示:

代码语言:javascript
复制
 $slug="my-string-content-123";

在这里,我想验证字符串是否包含在-之后结束的数字。

示例123

但我不能让它起作用..。我为我糟糕的英语感到抱歉。

任何帮助或建议都是很大的帮助。提前谢谢..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-24 13:54:54

对于常见的(不仅仅是c-)情况:

代码语言:javascript
复制
$slug="my-string-content-123";
if(preg_match('/([^0-9]+)-([0-9]+)$/', $slug, $matches))
{
   //prefix is in $matches[1];
   //the number is in $matches[2];
}
票数 2
EN

Stack Overflow用户

发布于 2014-03-24 13:53:45

试试这个:

代码语言:javascript
复制
preg_match("/^c-\d+$/",$slug,$result);

^c- =从c-开始

\d+ =1或更多位数

$ =字符串的结尾

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

https://stackoverflow.com/questions/22611333

复制
相关文章

相似问题

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