初学PHP需要帮助

时间:2010-12-04 06:55:26

标签: php regex preg-match delimiter

我已经学习PHP一段时间了,我想要澄清一下。

我已经看到使用不同的分隔符号调用的preg_match函数,如:

preg_match('/.../')

preg_match('#...#')

今天我也看到%被使用了。

我的问题是两部分:

可以使用哪些字符?

是否有标准?

1 个答案:

答案 0 :(得分:4)

任何

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

可以用作分隔符。

此外,如果您使用开头标点符号作为开头分隔符:

( { [ <

然后他们相应的结束标点符号必须用作结束分隔符:

) } ] >

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

示例:

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

由于正则表达式包含分隔符,因此必须转义在正则表达式中找到的分隔符。

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

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