+正则表达式PHP中的符号

+正则表达式PHP中的符号,php,regex,preg-match,Php,Regex,Preg Match,我想在PHP中使用preg_match和正则表达式来检查字符串是否以+44或0开头,但如何在不将+读取为与前面的字符匹配一次或多次的情况下执行此操作?+44 | 0有效吗?反斜杠是正则表达式的默认转义字符。如果在PHP字符串中使用反斜杠,则可能还必须对其本身进行转义,因此可以使用\\+44|0之类的内容作为字符串常量。正则表达式本身将是\+44 | 0。反斜杠是正则表达式的默认转义字符。如果在PHP字符串中使用反斜杠,则可能还必须对其本身进行转义,因此可以使用\\+44|0之类的内容作为字符串常

我想在PHP中使用preg_match和正则表达式来检查字符串是否以+44或0开头,但如何在不将+读取为与前面的字符匹配一次或多次的情况下执行此操作?+44 | 0有效吗?

反斜杠是正则表达式的默认转义字符。如果在PHP字符串中使用反斜杠,则可能还必须对其本身进行转义,因此可以使用\\+44|0之类的内容作为字符串常量。正则表达式本身将是\+44 | 0。

反斜杠是正则表达式的默认转义字符。如果在PHP字符串中使用反斜杠,则可能还必须对其本身进行转义,因此可以使用\\+44|0之类的内容作为字符串常量。正则表达式本身将是\+44 | 0。

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

^\+44 | ^0
在php中,要将regexp存储在字符串中,不需要使用双反斜杠\来混淆问题,只需使用单引号,如:

$regexp = '^\+44 | ^0';
事实上,您甚至不需要使用任何东西,这也很有效:

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

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

^\+44 | ^0
在php中,要将regexp存储在字符串中,不需要使用双反斜杠\来混淆问题,只需使用单引号,如:

$regexp = '^\+44 | ^0';
事实上,您甚至不需要使用任何东西,这也很有效:

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

你可以用几种方法来做。其中我认识两位:

一个是用转义符来转义+。反斜杠

^(\+44|0)
或者将+放在字符类[]中,它表示字符的字面含义

^([+]44|0)

^是锚定字符,表示基于flagmodifier的字符串/行的开头。

您可以通过多种方式执行此操作。其中我认识两位:

一个是用转义符来转义+。反斜杠

^(\+44|0)
或者将+放在字符类[]中,它表示字符的字面含义

^([+]44|0)

^是锚字符,表示基于flagmodifier的字符串/行的开头。

使用反斜杠转义\+44 |实际上是双反斜杠。PHP本身不知道正则表达式的语义,所以必须将其作为字符串传递,正则表达式的反斜杠需要再次转义。使用反斜杠转义\+44 |实际上是双反斜杠。PHP本身不知道正则表达式语义,因此必须将其作为字符串传递,正则表达式的反斜杠需要再次转义。由于我将向模式中添加更多内容,并且担心除非有括号,否则它不会将其分隔开,所以我决定使用\\方法,但也谢谢你教我这个:因为我将在模式中添加更多内容,并且担心除非有括号,否则它不会将其分开,所以我决定使用\\方法,但也谢谢你教我这个: