我正在尝试一个PHP正则表达式来查找CR 3492161或CR 3492161。我已经尝试使用以下正则表达式,但它不起作用。请求您的帮助。:-)
'CR\s/^\d{7}$/'
'CR\h/^\d{7}$/'
'CR /^\d{7}$/'
**注:**CR不是回车,可能只是模式CR。
代码:
<?php
namespace Shedanigans;
use Application\Filter\Linkify;
class Module
{
public function onBootstrap()
{
Linkify::addCallback(
function ($value, $escaper) {
if (strcasecmp($value, 'CR\s/^\d{7}$/')) {
// not a hit; tell caller we did not handle this one
return false;
}
return '<a target="_new" href="https://xtz.abc.com/">'
. $escaper->escapeHtml($value) . "</a>";
},
'CR\s/^\d{7}$/',
strlen('CR\s/^\d{7}$/')
);
}
public function getConfig()
{
return array();
}
}
3条答案
按热度按时间b91juud31#
你可以试试这个:
Debuggex Demo
5anewei62#
strcasecmp
函数是二进制安全字符串比较,不区分大小写,与正则表达式没有关系。执行正则表达式检查的函数是preg_match
,PHP Docs。您应该尝试:
preg_match('/^CR\s\d{7}$/i', $value)
此正则表达式将接受CR字符串(不区分大小写),一个空格和7个数字!
wmomyfyw3#
试试这个表达式
**编辑:**仅限于CR和cr,而非CR和cR
您可以在此处测试RegExr:http://regexr.com/3dum5