duancheng7743 2011-05-27 16:38
浏览 30
已采纳

REGEX以反向打印每个单词

Could anyone please help me with the regex of reversing each word in a string?

Sample input:

Hello how are you my friend?

Desired Output

olleH woh era uoy ym ?dneirf

I want to implement this in PHP.

  • 写回答

4条回答 默认 最新

  • doushoubu5360 2011-05-27 16:41
    关注

    This gives you almost what you want.

    If it isn't close enough, look into Blender's solution of exploding on spaces.

    preg_replace_callback('/\b(\w+)\b/', function($match) {
        return strrev($match[1]);
    }, $str);
    

    CodePad.

    You can reverse text using plain regex (and some string functions) but it is ugly...

    $length = strlen($str);
    
    echo preg_replace(
             '/' . str_repeat('(.)', $length) . '/s',
             '$' . join('$', range($length, 1)),
             $str
         );
    

    CodePad.

    The code sample above is for demonstration only. Please do not ever use it :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。
  • ¥20 CST怎么把天线放在座椅环境中并仿真
  • ¥15 任务A:大数据平台搭建(容器环境)怎么做呢?
  • ¥15 YOLOv8obb获取边框坐标时报错AttributeError: 'NoneType' object has no attribute 'xywhr'