正则表达式在 :: 之间获取字符串,没有任何空格
regular expression get string between :: without any whitespace
我在使用正则表达式时遇到了问题。我正在编码微笑 system.And 使用正则表达式从字符串中获取微笑代码,例如 :laugh:
或 :haha:
。
我想在 ::
之间获取字符串,除了字母字符外什么都没有。
<?php
$a="hello my dear :smile: ho r u?";
$a=preg_replace("/:([a-zA-Z]):/","<b></b>",$a);
//or
$a=preg_replace("/:(\w):/","<b></b>",$a);
echo $a;
?>
None 这些正则表达式有效。我该如何解决这个问题?
您必须允许一个或多个与 +
量词匹配:
这应该有效:
$a = preg_replace("/:([a-zA-Z]+):/","<b></b>",$a);
我在使用正则表达式时遇到了问题。我正在编码微笑 system.And 使用正则表达式从字符串中获取微笑代码,例如 :laugh:
或 :haha:
。
我想在 ::
之间获取字符串,除了字母字符外什么都没有。
<?php
$a="hello my dear :smile: ho r u?";
$a=preg_replace("/:([a-zA-Z]):/","<b></b>",$a);
//or
$a=preg_replace("/:(\w):/","<b></b>",$a);
echo $a;
?>
None 这些正则表达式有效。我该如何解决这个问题?
您必须允许一个或多个与 +
量词匹配:
这应该有效:
$a = preg_replace("/:([a-zA-Z]+):/","<b></b>",$a);