-2

我想用这种格式写一个两个字母和三个数字的表达式,例如。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]

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

4

3 回答 3

1

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

[A-Z]{2}[0-9]{3}
于 2013-02-17T16:33:32.993 回答
1

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

例如:

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

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

  • 数字相同,如果要匹配 3 位数字,请写 a{3}而不是+

  • 根据您的风格和您调用的方法,您还需要锚定您的正则表达式,否则您将获得部分匹配。

    当您的文本仅包含此字符串时,您可以对字符串的开头和结尾执行此^操作$

    ^[A-Z]{2}[0-9]{3}$
    

    如果您想在较大的字符串中找到此模式,请使用Wordboundaries

    \b[A-Z]{2}[0-9]{3}\b
    
于 2013-02-17T16:35:46.700 回答
0

试试这样:

([A-Z]{2}[0-9]{3}) 
于 2013-02-17T16:33:40.710 回答