-3

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

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

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

'@\b\d+\b@'

如你看到的:

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

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

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

4

2 回答 2

2

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

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

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

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

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

完整的修饰符列表可以在 PHP 手册中找到

于 2013-08-14T11:11:44.543 回答
0

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

不要错过这个工具!

于 2013-08-14T11:14:03.837 回答