如何将Javascript正则表达式转换为PHP正则表达式?

时间:2013-12-27 22:13:38

标签: 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版本,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

清理后,它可能看起来像这样(没有// 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)