+正则表达式PHP中的符号

时间:2014-04-20 13:09:25

标签: php regex preg-match

我想在PHP中使用preg_match和正则表达式来检查字符串是否以" + 44"或者" 0",但是如果没有将+读取为匹配前一个字符一次或多次,我怎么能这样做呢? (+44 | 0)会工作吗?

3 个答案:

答案 0 :(得分:4)

使用^来表示开头,使用反斜杠\来转义+字符。所以你要检查

^\+44 | ^0

在php中,要将正则表达式存储在字符串中,您不需要加倍反斜杠\来混淆事物,只需使用单引号,如:

$regexp = '^\+44 | ^0';

事实上,你甚至不需要使用任何东西,这也有效:

$regexp = "^\+44 | ^0";

答案 1 :(得分:3)

反斜杠是正则表达式的默认转义字符。如果它在PHP字符串中使用,您可能必须转义反斜杠本身,因此您使用"(\\+44|0)"之类的字符串常量。正则表达式本身就是(\+44|0)

答案 2 :(得分:2)

您可以通过多种方式完成此操作。在我认识的两个人中:

一个是使用转义字符(即反斜杠)转义+

^(\+44|0)

或者将+置于角色类[]内,这意味着该角色具有字面含义。

^([+]44|0)

^是锚字符,表示根据您的标志(修饰符)开始字符串/行。