在我的正则表达式中,我想说的是,在示例文本中,任何字符都是允许的,包括大小写的 az、数字和特殊字符。
例如,我的正则表达式可能正在检查文档是否为 html。所以:
"/\n<html>[]+</html>\n/"
我试过 []+ 但它似乎不喜欢这样?
在我的正则表达式中,我想说的是,在示例文本中,任何字符都是允许的,包括大小写的 az、数字和特殊字符。
例如,我的正则表达式可能正在检查文档是否为 html。所以:
"/\n<html>[]+</html>\n/"
我试过 []+ 但它似乎不喜欢这样?
Using[XXX]+
表示介于[
and之间的任何字符]
,一次或多次。
在这里,您没有在[
and之间放置任何字符]
- 因此出现了问题。
如果你想说“任何可能的字符”,你可以使用.
注释:默认情况下,它不会匹配换行符;如果您愿意,您将不得不使用Pattern Modifiers。
如果你想说任何字母,你可以使用:
[a-z]
[A-Z]
[a-zA-Z]
而且,对于数字:
[0-9]
: 任何数字[a-zA-Z0-9]
: 任何小写或大写字母,以及任何数字。
那时,您可能想看看:
\w
元字符,意思是“任何单词字符”
之后,当您开始使用正则表达式时,例如
/.+/s
应该匹配:
你会看到它并没有在你期望的时候“停止”——那是因为匹配是贪婪的,默认情况下——你必须在 ,?
之后使用 a+
或使用U
修饰符; 有关更多信息,请参阅重复部分。
好吧,实际上,如果您想开始使用正则表达式
,最好花点时间仔细阅读手册的PCRE 模式部分中的所有内容;-)
哦,顺便说一句:使用正则表达式解析HTML 是个坏主意……
使用 DOM 解析器通常要好得多,例如:
点.
是“任何字符”的元字符