1

我使用带有以下字符的字符串:{ 和 } 示例:

使用 IP 地址 {ipAdress} 登录

或其他示例:

您的用户名是 {userName}

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

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

但这并没有发现……谁能帮帮我?

4

2 回答 2

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

{s 在正则表达式中是特殊的。你需要逃离他们。

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

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

于 2012-05-27T17:30:59.887 回答
0

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

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

于 2012-05-27T23:27:06.627 回答