【问题标题】:php regular expressions documantation [closed]php正则表达式文档[关闭]
【发布时间】:2013-08-14 11:07:13
【问题描述】:

我想学习正则表达式模式。我正在使用一些模式,但我不明白的东西,请看下面的示例模式

"%(<$tag.*?>)(.*?)(<\/$tag.*?>)%is"

'/<img class="icerik" src="(.*)" alt="(.*)" \/>/Ui'

'@\b\d+\b@'

如你所见:

  • 一些以 % 字符开头和结尾的模式,
  • 一些以@字符开头和结尾的模式
  • 一些以 # 字符开头和结尾的模式,
  • 还有'is,Ui,Xi,i'等字符模式的结尾。

那是什么??我怎么知道,我需要哪个起始字符和结束字符?

是否有任何文档可以解释这一切?

【问题讨论】:

标签: php regex preg-match


【解决方案1】:

了解更多关于 PCRE 正则表达式的好资源是regular-expressions.info
要回答您的问题:正则表达式需要由某些字符分隔。常见字符为#@/。但是{expression} 也是有效的。

您可能不使用/ 的原因是它要求您转义作为正则表达式一部分的任何正斜杠

/http:\/\/www/i
//can be written as:
#http://www#i

flags(它们被称为)就像我的示例中的 i 是可以改变整个模式的行为的修饰符:(同样i 是不区分大小写的):

/[a-zA-Z]/
//can be written as
/[a-z]/i

A full list of modifiers can be found in the PHP manual

【解决方案2】:

Gskinner 是一个很棒的正则表达式学习工具。在窗口的最右侧,您可以找到 samples 选项卡,在那里您可以了解哪个表达式的作用。

不要错过这个工具!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-08
    • 2013-03-10
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    相关资源
    最近更新 更多