使用preg / regex删除十六进制代码(大括号)

时间:2014-07-09 19:02:19

标签: php regex preg-replace

我想知道,这样做有足够的正则表达式:

在:

{FFFFFF}Potatoes are{FF0000} Awesome

在:

Potatoes are Awesome

寻找类似的东西,编辑使用' ['而不是',所以我问我如何使用preg_replace来产生后果。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用:

$re = "/(?i){[a-f0-9]+}/"; 
$str = "{FFFFFF}Potatoes are{FF0000} Awesome";  
$result = preg_replace($re, '', $str); // Potatoes are Awesome

Online Regex Demo

答案 1 :(得分:0)

尝试下面的正则表达式,该正则表达式匹配{em> 3或6个字符的{...}内的十六进制字符串。例如:#FFF#FFFFFF将产生相同的结果

{[0-9A-Fa-f]{3}}|{[0-9A-Fa-f]{6}}

Demo


  

无法编辑使用'['而不是'{',

的用户

使用转义序列\字符来转义[]

\[[0-9A-Fa-f]{3}\]|\[[0-9A-Fa-f]{6}\]

Demo

注意:使用OR |组合两种正则表达式模式,以匹配{...}[...]

中包含的所有可能情况