PHP:正则表达式在{}中查找任何内容

时间:2012-05-27 17:29:25

标签: php regex

我使用带有此字符的字符串:{和} 例如:

  

使用IP-Adress {ipAdress}

登录

或其他例子:

  

您的用户名是{userName}

现在我需要一个正则表达式来查找任何字符串,我试过这个:

preg_match_all('/^{(.+)}/', $string, $matches)

但是这没有发现...... 谁能在这帮助我?

2 个答案:

答案 0 :(得分:2)

preg_match_all('/\{(.+?)\}/', $string, $matches)

{在正则表达式中很特殊。你需要逃脱它们。

此外,^锚定到行的开头。你的模式不在一行的开头。

最后,根据下面的评论,每行有多个这样的划分字符串,因此您希望使用搜索.+?的非贪婪版本。

答案 1 :(得分:0)

preg_match_all('/\{([^}]+)\}/', $string, $matches);

谨慎使用.。在这种情况下,{[^}]+}效率更高。