-4

可能重复:
使用 php 进行字符串比较的正则表达式

任何人都可以请帮助如何从“@”到“.”获取值,例如如果字符串包含值“abc@gmail.com”,那么输出应该是“@gmail”。使用正则表达式。

下面是仅输出“gmail”的示例代码。

$str = 'abc@gmail.com';
preg_match('/@([^.]+)/', $str, $match);
echo $match[1];
4

1 回答 1

0

您的正则表达式不起作用,因为

  1. 您的捕获组不包括@符号
  2. 您忘记转义您的.角色(在字符集之外),因为.它是正则表达式中的元字符(意味着匹配所有字符)。

你的正则表达式应该是

preg_match('/(@[^.]+\.)/', $str, $match);
于 2012-12-26T05:56:15.210 回答