在与这个问题斗争了一周后,我需要这一模式的帮助:
"^(?<Id>\d+) - (?<Agent>.*)(?<Registry>\(S (.*)\))+?. \((?<Date>\d{2}[/]\d{2}[/]\d{4})\).?$"
case 1:
121971-我的文本(S 8,H M 42670).(27/06/1974)
Match 1 | 0-46 | 121971-我的文本(S 8,H M 42670).(27/06/1974) |
Group 1 | 19-31 | 8, H M 42670 |
Group Id | 0-6 | 121971 |
Group Agent | 9-16 | my text |
Group Registry | 16-32 | (S 8, H M 42670) |
Group Date | 35-45 | 27/06/1974 |
case 2:
2-Lorem Ipsum.(19/12/2022).
regex101返回"正则表达式与主题字符串不匹配"
我删除了组"(?(S(.*))?"的最后一个+. case 1将代理和注册表加入同一组. case 2返回:
Match 1 | 0-30 | 2-Lorem Ipsum.(19/12/2022). |
Group Id | 0-1 | 2 |
Group Agent | 4-15 | Lorem Ipsum |
Group Date | 18-28 | 19/12/2022 |
这是预期输出:
Group | Case 1 | Case 2 |
---|---|---|
Id | 121971 | 2 |
Agent | my text | Lorem Ipsum |
Registry | S 8, H M 42670 | [null] |
Date | 27/06/1974 | 19/12/2022 |
谢谢