【发布时间】:2022-06-15 04:42:29
【问题描述】:
我有以下文字:
J.smith (2022-05-02 01:22:02) Hi There,
How are you doing today
Just wanted to check in
Bobby123 (2022-05-02 07:39:00):Hello ,
Im doing good thank you for asking
Thanks!
我想要三个命名的捕获组,分别是名称、时间和文本:
Bobby123
2022-05-02 01:22:02
Hello ,
Im doing good thank you for asking
Thanks!
我的主要问题是尝试为文本创建一个命名的捕获组。我尝试的每个正则表达式都会捕获文本的所有内容,但是文本组在到达 Bobby123 的第二个命名捕获组(名称)后应该停止。
这是我目前所拥有的:
(?<by>([\S]+)) \((?<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\)\:
【问题讨论】:
-
使用该模式停止:
(?<by>\S+) \((?<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\):.*(?:\n(?!\S+ \(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\):).*)*- 请参阅regex101.com/r/VCIUH9/2 -
谢谢。如果我想将文本放在自己命名的捕获组中怎么办?
标签: regex