是否有一个单数正则表达式可用于比较文本编辑器的搜索/替换对话框以反转列表中项目的顺序?
例如,请列出以下列表:
在EditPad等文本编辑器中选择它,打开搜索和替换框,应用正则表达式(无论是否循环运行)并将其转换为:
可以这样做吗?
答案 0 :(得分:4)
这不能通过正则表达式完成。
我建议使用像Perl这样的语言,您可以使用正则表达式拆分列表并按相反的顺序将其写回。
答案 1 :(得分:2)
在MSDOS中
SORT /R < originallist.txt > resortedlist.txt
答案 2 :(得分:1)
仅当列表具有固定的已知数量n
的项目时,即使这样,当n
增长时,正则表达式也会变得更复杂。 (主要的困难通常是在引擎中获得文字换行符。)
使用脚本语言可以很容易地生成这一系列日益复杂的正则表达式;但是,一旦你使用脚本语言,它几乎肯定更容易用于逆转本身!
答案 3 :(得分:0)
答案 4 :(得分:0)
我意识到已经有一段时间了,因为这被问到......但这个答案不在这里。
根据您在文本编辑器中对列表进行格式化的方式,您可以按照以下方式执行操作:
原文:“The Quick Brown Fox”
查找:(\ w +)\ s(\ w +)\ s(\ w +)\ s(\ w +)
替换:$ 4 $ 3 $ 2 $ 1
输出:“Fox Brown Quick The” (适用于记事本++,只需确保选择“正则表达式”选项)
相当于javascript:
var string = "The Quick Brown Fox";
string.replace(/(\w+)\s(\w+)\s(\w+)\s(\w+)/,"$4 $3 $2 $1");
好的参考是https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions