如何将Javascript正则表达式转换为PHP正则表达式?
我有一个JavaScript正则表达式,如下所示如何将Javascript正则表达式转换为PHP正则表达式?,javascript,php,regex,Javascript,Php,Regex,我有一个JavaScript正则表达式,如下所示 /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-]*)?\??(?:[\-\+=&;%@\.\w]*)#?(?:[\.\!\/\\\w]*))?)/g 我需要在PHP中使用它,所以我需要这个正则表达式的PHP版本
/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-]*)?\??(?:[\-\+=&;%@\.\w]*)#?(?:[\.\!\/\\\w]*))?)/g
我需要在PHP中使用它,所以我需要这个正则表达式的PHP版本,有什么想法吗?清理一下,如果没有//g修饰符,它可能会像这样
# '~((([A-Za-z]{3,9}:(?://)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www\.|[-;:&=+$,w]+@)[A-Za-z0-9.-]+)((?:/[+\~%/.\w-]*)?\??(?:[-+=&;%@.\w]*)\#?(?:[.!/\\\\\w]*))?)~'
( # (1 start)
( # (2 start)
( # (3 start)
[A-Za-z]{3,9} :
(?: // )?
) # (3 end)
(?: [-;:&=+$,\w]+ @ )?
[A-Za-z0-9.-]+
| (?: www\. | [-;:&=+$,w]+ @ )
[A-Za-z0-9.-]+
) # (2 end)
( # (4 start)
(?: / [+\~%/.\w-]* )?
\??
(?: [-+=&;%@.\w]* )
\#?
(?: [.!/\\\w]* )
)? # (4 end)
) # (1 end)
前一个SO问题应该可以帮助您找到答案:[[1]:我认为在PHP中也是一样的,没有什么不同。它不是一个有效的PHP正则表达式。除了不必要的标志外,它在PHP中基本上是有效的。谷歌搜索您收到的错误消息,但忘记将其包含在您的问题中。它过滤给定文本中的URL,而不是验证电子邮件。