如何使用regex操作文本文件?

如何使用regex操作文本文件?,regex,text-files,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/J

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

当前格式:

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)

---

...

有人能帮我弄清楚正则表达式是什么吗?最棘手的部分是将时间戳从24小时更改为12小时。我还想颠倒顺序(最近一次是在底部而不是顶部),但我不确定这有多容易。重新排序,但将时间保留为24小时:

搜索:
User:(.+)\nText:(.+)\n创建于:(\w++\d+)(\d+:\d+:\d+)(\d+)\n

替换:
\2\n\n\3\5在\4通过[\1](http://twitter.com/\1) \n

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

第1组是用户名

第二组是文本

第三组是月和月的第二天

第四组是一天中的时间

第五组是一年


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

如果您愿意,可以使用正则表达式对其进行解析,但它的格式非常简单,我认为您不需要它们。您需要一些其他的东西来完成从24小时到12小时的转换。您使用的是哪种语言?如果编程语言支持函数作为
Replace
参数,那么24小时到12小时也可以主要在regex中完成。(例如Javascript,.NET)我在我的文本编辑器中使用find和replace来删除一堆元数据,我想我可以使用正则表达式来完成最后一点操作。