yii 用于查找CR 3492161或cr 3492161的PHP正则表达式

rta7y2nd  于 2022-11-09  发布在  PHP
关注(0)|答案(3)|浏览(105)

我正在尝试一个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();
    }
  }
b91juud3

b91juud31#

你可以试试这个:

(?:CR|cr)\s[0-9]{7}

Debuggex Demo

5anewei6

5anewei62#

strcasecmp函数是二进制安全字符串比较,不区分大小写,与正则表达式没有关系。执行正则表达式检查的函数是preg_matchPHP Docs
您应该尝试:preg_match('/^CR\s\d{7}$/i', $value)
此正则表达式将接受CR字符串(不区分大小写),一个空格和7个数字!

wmomyfyw

wmomyfyw3#

试试这个表达式

preg_match('/^[Cc][Rr]\s[0-9]{7}$/', $value);

**编辑:**仅限于CR和cr,而非CR和cR

preg_match('/^(CR|cr)\s[0-9]{7}$/', $value);

您可以在此处测试RegExr:http://regexr.com/3dum5

相关问题