Regex 如何编写正则表达式
我想用这种格式写一个表达式,两个字母和三个数字,例如TT234Regex 如何编写正则表达式,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
([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