Regex 如何编写正则表达式

Regex 如何编写正则表达式,regex,Regex,我想用这种格式写一个表达式,两个字母和三个数字,例如TT234 ([A-Z]2+[0-9]+) 以上是我写的,但我得到了错误。有人能对此发表评论吗 让我重写我的问题,基本上我是在.htaccess中编写一个重写url参数约束 RewriteEngine On # Turn on the rewriting engine RewriteRule ^test/(home|member|admin)/([A-Z]{2}[0-9]{3})/(xml|json)$ localhost/usernam

我想用这种格式写一个表达式,两个字母和三个数字,例如TT234

([A-Z]2+[0-9]+) 
以上是我写的,但我得到了错误。有人能对此发表评论吗

让我重写我的问题,基本上我是在.htaccess中编写一个重写url参数约束

RewriteEngine On # Turn on the rewriting engine 
RewriteRule ^test/(home|member|admin)/([A-Z]{2}[0-9]{3})/(xml|json)$ localhost/username/index.php?type=$1&id=$2&format=$3 [L] 
RewriteRule ^test/.*$ localhost/username/error.php [L]

现在,在我将正则表达式更改为
([A-Z]{2}[0-9]{3})后,出现了这个错误
xmlParseEntityRef:no name
,尽管它确实正确地检查了参数。

正则表达式的语法不同。以下是如何在POSIX扩展的常规表达式中执行所需操作:

[A-Z]{2}[0-9]{3}
试着这样做:

([A-Z]{2}[0-9]{3}) 

您的正则表达式匹配一个大写ASCII字母,一个或多个“2”后跟至少一个数字

例如:

  • A2123456788990
  • Z20
  • 如果您想精确地指定两个字母,那么您不应该使用量词
    +
    ,您可以使用
    {2}

  • 如果你写了一个“2”,那么它与一个文字“2”匹配

  • 数字也是一样,如果要匹配3个数字,请编写一个
    {3}
    而不是
    +

  • 根据你的口味和调用的方法,你还需要锚定你的正则表达式,否则你会得到部分匹配

    当文本仅由该字符串组成时,可以使用字符串开头和结尾的
    ^
    $
    执行此操作

    ^[A-Z]{2}[0-9]{3}$
    
    如果要在更大的字符串中查找此模式,请使用wordbounders

    \b[A-Z]{2}[0-9]{3}\b
    

您编写正则表达式的目的是什么??有很多不同的类型,实际上是关于它们的整本书。它现在仍然不起作用。错误页面重写规则^/(^[A-Z]{2}[0-9]{3}$)/(xml | json)@user236501,不,你已经有了锚,那么不要使用我在解决方案中编写的锚,我假设,这是完整的模式。似乎您希望将文件扩展名与
(xml | json)
匹配,但与扩展名之前的文件名不匹配。试试
^/([A-Z]{2}[0-9]{3})/[^./]+(xml | json)$
Hi,我仍然有一个错误,我将它重写为:RewriteEngine On#打开重写引擎RewriteRule^test/(home | member | admin)/([A-Z]{2}[0-9]{3})/(xml | json)$[L]rule^test