正则表达式:随机改变文本中单词的顺序(shuffle-words)

正则表达式:随机改变文本中单词的顺序(shuffle-words)

我有这么一句话:

Omul se poate combina multor gandiri-cu ideile cu ajutorul povestilor clasice corespunzatoare FAPTELOR si sensului abstract.

想要随机改变单词的顺序,变成这样:

ideile poate se multor gandiri-cu combina Omul si povestilor abstract ajutorul corespunzatoare FAPTELOR cu sensului clasice.

我有一个正则表达式,问题是最后两个单词没有改变。也许有人可以编辑我的正则表达式,或者提出更好的解决方案(更简单、更有效):

搜索:

([\w-]+)[^\w\r\n-]+([\w-]+)[^\w\r\n-]+([\w-]+)[^\w\r\n-]+([\w-]+)[^\w\r\n-]+([\w-]+)[^\w\r\n-]+([\w-]+)[^\w\r\n-]+([\w-]+)

替换为:

\7 \3 \9 \2 \5 \8 \6 \4 \1

答案1

并非完全随机。

  • Ctrl+H
  • 找什么:(?:^|\G\h+)([^\s.]+)(\h(?1))?(\h(?1))?(\h(?1))?(\h(?1))?(\h(?1))?(\h(?1))?(\h(?1))?(\h(?1))?(\.)?
  • 用。。。来代替:$7$3$9$2$5$8$6$4 $1$10
  • 查看 环绕
  • 查看 正则表达式
  • Replace all

演示与说明

屏幕截图(之前):

在此处输入图片描述

屏幕截图(之后):

在此处输入图片描述

相关内容