正则表达式,按字母顺序排序URL列表?

时间:2015-07-21 15:46:00

标签: regex

我使用此正则表达式按字母顺序对单词进行排序:

^.*$

替换为:

\&

当我尝试按字母顺序对网址列表进行排序时,它无效。 我使用的是PowerGrep。

我有这个:

https://www.google.com/search?q=Florida
https://www.google.com/search?q=Delaware
https://www.google.com/search?q=Hawaii
https://www.google.com/search?q=Alabama
https://www.google.com/search?q=California

我想要这个:

https://www.google.com/search?q=Alabama
https://www.google.com/search?q=California
https://www.google.com/search?q=Delaware
https://www.google.com/search?q=Florida
https://www.google.com/search?q=Hawaii

1 个答案:

答案 0 :(得分:0)

在阅读提供的链接后,我想:

  • 你需要一个正则表达式来匹配整行(因为你想对整行进行排序),“^。* $”应该用于那个目的
  • 你需要一个正则表达式来匹配一个可以有意义地用于排序的子字符串
  • 因为排序可能会停留在特殊字符上,这可以解释为什么你的行没有被排序,它们在行中很晚才相同并且包含许多特殊字符。

所以我建议使用

[^=]*$

而不是

\&

“[^ =]”表示“除了”之外的任何东西=“。” “*”表示“零次或多次” “$”表示“必须在行尾”。

抱歉,由于缺少emacs,我无法测试此提案。 您可能必须调整特殊字符的引用,即在不同位置尝试“\” 如果这没有用,请尝试通过添加标签“emacs”吸引emacs大师的注意。