2015-05-28 47 views
-2

荫非常新的PHP正则表达式,但不知何故学会了一下,如下尝试过,但得到的错误是:PHP Warning: preg_match(): Unknown modifier '[' in /home/3ZZyLt/prog.php on line 4PHP的正则表达式错误的preg_match():未知的修饰词“[”

这里是整个代码的输出:从上面的链接https://ideone.com/fTIyUK

同一代码:

<?php 
$email = "paulw Paul Walker paulw 2014-12-28 07:18:09 [email protected] 2014-12-28 07:18:09 2014-12-28 07:18:09"; // Invalid email address 
$regex = "/[a-z] [A_Z] [A-Z] [A-Z] (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}) /[-0-9a-zA-Z.+_][email protected][-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4} (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/"; 
if (preg_match($regex, $email)) { 
    echo $email . " is a valid email. We can accept it."; 
} else { 
    echo $email . " is an invalid email. Please try again."; 
} 
?> 

请告诉我有什么需要改变?

更新:

输入:串(AZ)的字符串(A-ZA-Z)的字符串(A-ZA-Z)的字符串(AZ)日期(YYYY-MM-DD HH:MM :SS)EMAILID日期(YYYY-MM-DD HH:MM:SS)日期(YYYY-MM-DD HH:MM:SS)

8参数:

userid (string) 
first name(string) 
last name(string) 
userid(string) 
date 
email 
date 
date 
+2

这是可怕的正则表达式开始,并不会如预期反正工作。为什么不先在空间上分割?这是一个空格分隔的日志/任何行,不是吗? – mario

+1

前四组只捕获一个单个字符。即使错误消失,这也不起作用。 – Luceos

+3

[如果你想验证一封电子邮件,你可以使用filter_var()](http://stackoverflow.com/questions/19522092/should-i-use-filter-var-to-validate-email) – castis

回答

1
$regex = "/[a-z] [A_Z] [A-Z] [A-Z] (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}) /[-0-9a-zA-Z.+_][email protected][-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4} (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/"; 

如果您仔细看到此正则表达式,则在正则表达式中间有一个未转义的/,但您使用/作为正则表达式分隔符。

使用这个表达式,而不是一个替代正则表达式分隔符:

$regex = "~[a-z]+ [A-Z]+ [A-Z]+ [A-Z]+ (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}) [-\w.+][email protected][-\w.+]+\.[a-zA-Z]{2,4} (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})~i"; 

RegEx Demo

+0

嗨,我试过你的正则表达式,现在得到输出为'无效',在这里:https://ideone.com/fTIyUK – user3815806

+1

我没有改变你的正则表达式,它是一样的。我只是改变了正则表达式分隔符。将检查你的ideone代码 – anubhava

+0

你能修改我的正则表达式代码,并使其工作? – user3815806

相关问题