Php 解释正则表达式
A.上述符号是什么意思Php 解释正则表达式,php,regex,Php,Regex,A.上述符号是什么意思 #和/之间有什么不同 我有备忘单,但还没拿到。我所知道的得到了 所有角色,那又怎样?是给你的 上述模式用于PHP预匹配和预替换。 *?是一种所谓的标记,至少与前一个标记匹配零次(并且仅与完成匹配所需的频率相同–它是惰性的,因此为?) (…)创建可在正则表达式或匹配中引用的。它们还用于限制|交替的范围仅限于正则表达式的一部分(就像数学中的括号表明优先级一样) /…/和###是整个正则表达式的分隔符,至少在PHP中是这样。从技术上讲,它们不是正则表达式语法的一部分。您使用什
#和/之间有什么不同 我有备忘单,但还没拿到。我所知道的得到了 所有角色,那又怎样?是给你的 上述模式用于PHP预匹配和预替换。
是一种所谓的标记,至少与前一个标记匹配零次(并且仅与完成匹配所需的频率相同–它是惰性的,因此为*?
)?
创建可在正则表达式或匹配中引用的。它们还用于限制(…)
交替的范围仅限于正则表达式的一部分(就像数学中的括号表明优先级一样)|
和/…/
是整个正则表达式的分隔符,至少在PHP中是这样。从技术上讲,它们不是正则表达式语法的一部分。您使用什么分隔符取决于您(但我认为您不能使用###
),主要是更改您需要在正则表达式中转义的字符。因此,在匹配可能包含大量斜杠的URI时,\
是一个错误的选择。比较下面两个VC++用于查找C++风格的结束注释:/
后者更容易阅读,因为您不必在正则表达式本身中逃避斜杠1. (.*?) 2. (*) 3. #regex# 4. /regex/
或#
通常用作分隔符,因为它们很突出,在文本中不太常见,但您可以随意使用 从技术上讲,您根本不需要这个分隔符。这可能主要是PHP的Perl遗产的残余(在Perl中,正则表达式是分隔的,但不包含在字符串中)。其他使用字符串的语言(因为它们没有本机正则表达式文本),如Java、C#或PowerShell,在没有分隔符的情况下表现良好。在PHP中,您可以在结束分隔符之后添加选项,例如匹配@
或a
(不区分大小写)的a
,但是正则表达式/a/i
的作用完全相同,不需要分隔符(?i)a
下次你花时间通读的时候,这是一本关于正则表达式基础知识和建议主题的很棒的参考书,对很多事情解释得非常好和透彻。另外,请看一下这方面的问题。好吧,请坚持每个问题一个实际问题。。。问题 这是对问题3+4的回答,因为其他问题都已经回答好了
regexpe通常由/分隔,例如/abc123/或/foo | bar/i。在php中,您可以使用任何您想要的字符。您不限于/,即您可以使用例如#或%、#/usr/local/bin 第二个可能是无效的,或者我应该了解PHP正则表达式和其他风格的正则表达式之间的区别。请以后每个问题坚持一个问题。哦,我不知道@Joey allready已经回答了你所有的问题。我通常尽量不发布不完整的答案;)
preg_match('/\/\/.*$/', $text);
preg_match('#//.*$#', $text);