正则表达式日语单词无法逃脱

regex japanese words cannot escape

我想删除一些包括日文在内的标签,但我遇到了一些词无法删除的问题。

$text = "#食への好きな人と繋かりたい #食への好きな人と繋がりたい #食べるの好きな人と繋がりたい";

echo "\n".$text;
echo "\n".preg_replace("/#([.\w]+)/u", "", $text);

以上代码的输出是:

 ゙りたい2 ゙るの好きな人と繋がりたい3

而预期的输出应该是空的。

我的观察是,如果字符在右上角包含"(即がべ)这种模式,那么这些单词就无法转义。如果我将其更改为 然后单词被转义。

我花了一段时间才弄清楚,但没有用。请帮助逃避日语单词。谢谢。

我会使用以下正则表达式作为主题标签:

#\S+

这将匹配前导 # 字符,后跟一个或多个非空白字符(包括日文汉字)。

示例脚本:

$text = "#食への好きな人と繋かりたい #食への好きな人と繋がりたい #食べるの好きな人と繋がりたい";
echo $text . "\n";
$text = preg_replace("/#\S+/", "", $text);
echo $text;

第二个 echo 仅打印两个空格(用于分隔原始输入中的三个主题标签);