如何在preg_match中验证感叹号

时间:2014-01-08 08:32:50

标签: php preg-match

我有一个字符串$str = "GO(P)2005/Fin!2005-01-05";
这里感叹号是强制性的,在感叹号之前的第一部分可以是字母,数字,小括号和/或空格,感叹号后的第二部分必须是日期。

我的正则表达式就像这样

/^[[:alpha:][:space:][:digit:]\/.\!()-]$/ 

但它不起作用。请帮助。

2 个答案:

答案 0 :(得分:0)

使用此:

preg_match('~^[a-zA-Z0-9()/\s]+!\d{4}-\d{2}-\d{2}$~', $string, $match);

答案 1 :(得分:0)

这将有效:

preg_match('/(?:.*)!(?:.*)/sim', $string)