php preg replace::regex
如果我有一个字符串,看起来像php preg replace::regex,php,regex,preg-replace,Php,Regex,Preg Replace,如果我有一个字符串,看起来像我的名字是{your name here},我来自{country}。 我试图使用preg_replace删除{content},因此字符串的结尾是我的名字是,我来自。 但我无法计算出该模式的正则表达式 有人能帮我吗? 我的名字是,我来自。只是一个示例字符串 它可能类似于当前日期是{suburban}{current date}或者类似于: /\{[^{}]*}/ 未经测试,但应该让您开始。首先匹配{,然后匹配除}之外的所有项,然后匹配最终的} 编辑:已修复,现在
我的名字是{your name here},我来自{country}。
我试图使用preg_replace删除{content}
,因此字符串的结尾是我的名字是,我来自。
但我无法计算出该模式的正则表达式
有人能帮我吗?
我的名字是,我来自。
只是一个示例字符串
它可能类似于当前日期是{suburban}{current date}或者类似于:
/\{[^{}]*}/
未经测试,但应该让您开始。首先匹配{,然后匹配除}之外的所有项,然后匹配最终的}
编辑:已修复,现在已实际测试;) 可能类似于:
/\{[^{}]*}/
未经测试,但应该让您开始。首先匹配{,然后匹配除}之外的所有项,然后匹配最终的}
编辑:已修复,现在已实际测试;) 您可以尝试:
\{.*?}
您可以尝试:
\{.*?}
对于您的“工具箱”:有在线正则表达式检查器,例如一个。它提供了一个很好的测试平台,因为它完全独立于您的代码
+1 Evert--您的解决方案看起来不错。对于您的“工具箱”:有在线正则表达式检查器,例如一个。它提供了一个很好的测试平台,因为它完全独立于您的代码
$str = 'my name is {your name here} and I am from {country}.';
echo preg_replace('/{.*?}/', '', $str),"\n";
+1埃弗特——你的解决方案看起来不错
$str = 'my name is {your name here} and I am from {country}.';
echo preg_replace('/{.*?}/', '', $str),"\n";
输出:
my name is and I am from .
输出:
my name is and I am from .
我很好奇。。这有什么意义?字符串
“我的名字是,我来自。”
的值是多少?因为{content}实际上是模板中的关键字,所以当用户在文本框中输入时,它们会被填充。但我不希望{content}显示他们没有输入任何内容;)我很好奇。。这有什么意义?字符串“我的名字是,我来自。”
的值是多少?因为{content}实际上是模板中的关键字,所以当用户在文本框中输入时,它们会被填充。但我不希望{content}显示他们没有输入任何内容;)+1,但a)可以在字符类中删除反斜杠(通常在右大括号之前),b)不需要括号,c)也可以在此处添加左大括号。这将确保正则表达式在嵌套标记上完全失败,而不是匹配{tag1{tag2}
并使标记1}的其余部分保持不匹配/\{[^{}]*}/
也一样好。+1,但a)可以在字符类中删除反斜杠(通常在右大括号之前),b)不需要括号,c)也可以在此处添加左大括号。这将确保正则表达式在嵌套标记上完全失败,而不是匹配{tag1{tag2}
并使标记1}的其余部分保持不匹配<代码>/\{[^{}]*}/
也一样好。