我是regex的新手,因此我浏览了php regex手册,并尝试了以下内容:
我有一根这样的绳子:
c-1
c-10
c-100等最新的c-unlimited
现在,我想确认来的字符串是一个有效的字符串,它以c-开头,在c-之后,它只包含数字。
为了完成这项工作,我使用了preg_match
$slug='c-12';
if(preg_match("/\[c-(.*?)]/",$slug,$result)){ echo "TRUE";}
else{ echo "FALSE"; }此外,还包括:
$pattern = '/^c-/';
if(preg_match($pattern, substr($slug,2), $matches, PREG_OFFSET_CAPTURE){ echo "TRUE";}
else{ echo "FALSE"; }此外,这也是:
$pattern = '/^c-/';
if(preg_match($pattern, $slug, $matches, PREG_OFFSET_CAPTURE, 3){ echo "TRUE";}
else{ echo "FALSE"; }还有一件事,我也想从末端验证字符串。如下所示:
$slug="my-string-content-123";在这里,我想验证字符串是否包含在-之后结束的数字。
示例123
但我不能让它起作用..。我为我糟糕的英语感到抱歉。
任何帮助或建议都是很大的帮助。提前谢谢..。
发布于 2014-03-24 13:54:54
对于常见的(不仅仅是c-)情况:
$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];
}发布于 2014-03-24 13:53:45
试试这个:
preg_match("/^c-\d+$/",$slug,$result);^c- =从c-开始
\d+ =1或更多位数
$ =字符串的结尾
https://stackoverflow.com/questions/22611333
复制相似问题