我不太了解正则表达式,但想创建一个正则表达式来验证这样的字符串:`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
不会匹配