繁体   English   中英

PHP-正则表达式匹配这样的字符串:2012/018843/06?

[英]PHP - Regular expressions to match a string like this : 2012/018843/06?

我对正则表达式不是很了解,但是想创建一个正则表达式来验证这样的字符串:`2012/018843/06。

如果将来对某人有帮助,我想说的是南非公司注册号。

如果有人愿意发布可以通过PHP处理并与之匹配的正则表达式,那就太好了。 如果不是这样,那么以这种方式创建正则表达式的“基础”的任何链接将不胜感激!

谢谢。

编辑:

我已经试过了:

[0-9/]{14}

但是它与长度不完全匹配。

以最简单的形式:

preg_match("|^\d{4}/\d{6}/\d{2}$|", $input);

\\d令牌与任何0到9的整数匹配, {}内的整数表示以前的令牌允许重复多少次, /匹配文字/因为我正在使用| 作为正则表达式分隔符。

^令牌是从字符串的开头开始匹配, $是从字符串的末尾开始匹配,这样,诸如aa2012/124521/11bb将不匹配(否则,如果您取出^$则将匹配)

数字固定长度吗? 然后尝试

preg_match('#^\d{4}/\d{6}/\d{2}$#', $string)

句法:

  • \\d是一个转义序列,表示任何十进制数字(0-9),也可以由[0-9]表示
  • {4}定义最后一个表达式(在本例中为十进制数字)必须出现4次,使用此表达式可避免多次重复前一个表达式,因此\\d{4}表示\\d\\d\\d\\d
  • ^表示字符串的开头, $表示字符串的结尾,因此可以确保此字符串中没有其他字符,因此abc2012/018843/06def类的字符串将不匹配

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM