自动获取PHP Regex

时间:2014-06-08 03:49:51

标签: php regex

是否有任何工具或其他东西在您提交链接后为您提供PHP Regex。

如果我把链接http://vk.com/video216479284_169096951输出就像这样`〜/ video([0-9a-z _] +)~i

我只想问。我不熟悉PHP Regex,我需要为一些网站写几个。如果没有这样的话,那么建议我从哪里开始学习PHP Regex。

1 个答案:

答案 0 :(得分:2)

This is a nice explanation为什么你不能做你想做的事。

  

电脑无法理解

     

很多人都在寻找可以自动为它们生成正则表达式的程序。程序只会将有效匹配的示例作为输入,并生成正确的正则表达式作为输出,通过魔术推断用户的“正确”的想法。不幸的是,没有任何计算机程序能够纯粹基于有效匹配列表生成有意义的正则表达式。让我告诉你原因。

     

假设您提供了示例111111和999999.计算机应该生成哪个正则表达式?

     
      
  1. 正则表达式完全匹配这两个示例:(?:111111 | 999999)
  2.   
  3. 匹配6个相同数字(\ d)\ 1 {5}
  4. 的正则表达式   
  5. 正则表达式匹配6个和9 [9] {6}
  6.   
  7. 正则表达式匹配任何6位\ d {6}
  8.   
  9. 以上四种中的任何一种,具有字边界,例如\ B \ d {6} \ B'/ LI>   
  10. 前四个中的任何一个,不在数字之前或之后,例如(小于?!\ d)\ d {6}(?!\ d)
  11.         

    正如您所看到的,有很多方法可以将示例推广到正则表达式中。计算机构建可预测正则表达式的唯一方法是要求您列出所有可能的匹配项。然后它可以生成一个匹配那些匹配的搜索模式,而不是其他任何东西。通常,提供详尽的匹配列表正是我们要避免的。当您确实拥有所有可能匹配的详尽列表时,一次优化纯文本搜索处理整个列表将与正则表达式搜索一样快或更快。纯文本搜索可以优化为仅扫描文本一次,而不像正则表达式那样回溯。

要查找PHP正则表达式引用,请从正确的关键字开始。 你应该搜索“pcre”而不是搜索“PHP regex”。