Regex 如何使用正则表达式选择多行?
我必须格式化5万行聊天日志 源文件为纯文本,如下所示:Regex 如何使用正则表达式选择多行?,regex,grep,preg-replace,Regex,Grep,Preg Replace,我必须格式化5万行聊天日志 源文件为纯文本,如下所示: 13. Mär. 01:32 - Walter: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 13. Mär. 06:15 - Horst: Lorem ipsum
13. Mär. 01:32 - Walter:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
13. Mär. 06:15 - Horst:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
magna aliquyam erat, sed diam voluptua.
整个谈话中只有两个人——沃尔特和霍斯特。
我需要两个正则表达式,一个从Walter选择所有聊天文本,另一个从Horst选择所有聊天文本
Walter的正则表达式应从示例中选择以下文本:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
magna aliquyam erat, sed diam voluptua.
Horst的正则表达式应从以下示例中选择此文本:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam voluptua.
magna aliquyam erat, sed diam voluptua.
对我来说,重要的是只选择文本行,而不是日期/时间/人员行
更新
首先,感谢您的快速回复。不幸的是,这并不能解决我的问题。
聊天文本有不同的数字行
不知何故,我无法从你的例子中得到一个选择
我在这里试过:
我试过这样做:
沃尔特:。\n(.)
这将选择Walter:和第一行。有没有办法不选择沃尔特:
(我需要它来使用文本格式格式化Indesign文档)在此处尝试:我已经修改了正则表达式,以便可以处理您的数据,但是您的数据仍然没有很好的结构,尽管不可能编写一个与之正确匹配的正则表达式。这实际上是两个问题
awk '$5~/Walter:$/{p=1} $5!~/Walter:$/&&$5~/:$/{p=0} p'
或
要过滤空行和日期行,请通过管道
awk '$5!~":$"&&NF>0'