如何使用正则表达式操作文本文件?

时间:2012-07-06 17:56:15

标签: regex text-files

我将所有推文都导出到一个文本文件中,但是我想对它进行一些操作以使其格式化不同。在我看来,最简单的方法是使用正则表达式,但我对它们没有多少经验。

当前格式:

User: Jack
Text: Hello world!
Created At: July 06 22:55:33 2012

---

User: Jill
...

格式我想得到它:

Hello World!

July 06, 2012 at 10:55PM via [Jack](http://twitter.com/Jack)

---

...

任何人都可以帮我弄清楚正则表达式是什么吗?最棘手的部分是将时间戳形式从24h更改为12h。我也想要颠倒顺序(最近在底部而不是在顶部),但我不确定这样做会有多容易。

1 个答案:

答案 0 :(得分:0)

重新排序,但将时间保留为24小时:

搜索:User: (.+)\nText: (.+)\nCreated At: (\w+ \d+) (\d+:\d+:\d+) (\d+)\n

替换:\2\n\n\3, \5 at \4 via [\1](http://twitter.com/\1)\n

替换模式可能需要$1而不是\1等,具体取决于正则表达式的风格。

第1组是用户名

第2组是文本

第3组是月份和日期

第4组是时间

第5组是年

使用简单的正则表达式将24h转换为12h是可能的,但最好是在编程语言的帮助下完成。