初级PHP帮助需要

问题描述:

我一直在学习PHP一段时间,我想澄清一下。初级PHP帮助需要

我所见过的preg_match函数调用不同的分界符号,如:

preg_match('/.../') 

preg_match('#...#') 

今天我也看到%被使用。

我的问题是两个部分:

有什么可以使用的所有字符?

有没有标准?

+1

这只是一个品味的问题。 – 2010-12-04 07:52:12

不限

  • 非字母数字
  • 非空白和
  • 非反斜杠ASCII字符

可以用作分隔符。

此外,如果你使用开幕标点符号的开始分隔符:

({ [ < 

那么其对应的关闭标点符号必须作为结束分隔符:

) } ] > 

最常见分隔符是/
但是有时如果/是正则表达式的一部分,建议使用不同的分隔符。

例子:

// check if a string is number/number format: 
if(preg_match(/^\d+\/\d+$/)) { 
    // match 
} 

由于正则表达式中包含的分隔符,你必须逃脱在正则表达式中的分隔符。

为了避免逃逸,最好是选择不同的分隔符,一个是不存在的正则表达式,这样,你的正则表达式将是更短和更清洁的

if(preg_match(#^\d+/\d+$#)) 
+0

只需添加:如果您未使用开启/关闭标点符号,则表达式中的第一个字符必须与最后一个字符相同,否则会出现错误。 – 2010-12-04 07:00:43