我使用带有此字符的字符串:{和} 例如:
使用IP-Adress {ipAdress}
登录
或其他例子:
您的用户名是{userName}
现在我需要一个正则表达式来查找任何字符串,我试过这个:
preg_match_all('/^{(.+)}/', $string, $matches)
但是这没有发现...... 谁能在这帮助我?
答案 0 :(得分:2)
preg_match_all('/\{(.+?)\}/', $string, $matches)
{
在正则表达式中很特殊。你需要逃脱它们。
此外,^
锚定到行的开头。你的模式不在一行的开头。
最后,根据下面的评论,每行有多个这样的划分字符串,因此您希望使用搜索.+?
的非贪婪版本。
答案 1 :(得分:0)
preg_match_all('/\{([^}]+)\}/', $string, $matches);
谨慎使用.
。在这种情况下,{[^}]+}
效率更高。