正则表达式:如何将行中的更多单词变成就像在镜子中看到的那样?

正则表达式:如何将行中的更多单词变成就像在镜子中看到的那样?

镜子真的能翻转单词中的字母吗?或者,如何让行中的更多单词像在镜子中看到的那样翻转?

例如:

At the Olympics you run not only for yourself, but for all people.

使用正则表达式后,输出应该是

Ta eht scipmylO uoy nur ton ylno rof flesruoy, tub rof lla elpoep.

我创建了一个正则表达式,但是不起作用:

寻找:([a-z])|([A-Z])\1\2

替换为:\2\1

或者

寻找:([^\s])|([^\s])

替换为:\2\1

答案1

这不能仅通过正则表达式来完成,您必须运行 pythonSCript。

如果尚未安装,请按照此操作指导

  • 创建脚本(插件>> PythonScript >> 新脚本)
  • 复制此代码并保存文件(例如 reverseWord.py):
import re

def reverseWord(match):
    str = match.group(1)
    return ''.join(reversed(str))

editor.rereplace('(\w+)', reverseWord)
  • 打开要修改的文件
  • 运行脚本(插件>> PythonScript >> 脚本>> reverseWord)
  • 完毕

在此处输入图片描述

答案2

@Toto 代码的替代方案,我找到了一个可以在任何 IDLE 中工作的 Python 代码:

string = "Python guides is best"
word = string.split()
reverse_str = []
for i in word:
    reverse_str.append(i[::-1])
res = " ".join(reverse_str)
print("",res)

#Output: nohtyP sediug si tseb

相关内容