我想用这种格式写一个表达式,两个字母和三个数字,例如。 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})
,尽管它确实检查了参数。
答案 0 :(得分:1)
正则表达式有不同的语法。以下是如何在POSIX扩展正则表达式中执行所需操作:
[A-Z]{2}[0-9]{3}
答案 1 :(得分:1)
您的正则表达式匹配一个大写的ASCII字母,一个或多个“2”,后跟至少一个数字。
E.g:
- A2123456788990
- Z20
如果您想准确指定2个字母,则不应使用量词+
,您可以使用{2}
。
如果你写一个“2”,那么它匹配文字“2”
对于数字相同,如果您想匹配3位数,请写一个{3}
而不是+
根据您的口味和方法,您还需要锚定您的正则表达式,否则您将获得部分匹配。
当文本只包含此字符串时,您可以使用^
和$
作为字符串的开头和结尾
^[A-Z]{2}[0-9]{3}$
如果您想在更大的字符串中找到此模式,请使用 Wordboundaries
\b[A-Z]{2}[0-9]{3}\b
答案 2 :(得分:0)
试试这样:
([A-Z]{2}[0-9]{3})