我正在尝试编写一个与可变长度字符串匹配的正则表达式,删除某些文本。以下是一些尝试实现的例子:
Equipment Changes: 2 - Mon Rose - Blinkers On;7 - Queen's Harbor - Blinkers On
2 - Mon Rose - Blinkers On;7 - Queen's Harbor - Blinkers On
上述示例包括2个设备更改,但是,可能会有1到12个设备更改。我希望一个正则表达式可以处理所有情况。马名称将随着设备类型的变化而变化(Blinkers On,Blinkers Off,Bar Shoe等)
我可以匹配一个,但我对变量要求有困难。
我的匹配一个设备更改的代码如下:
(Equipment Changes:)\s[\dA-Z]{1,2}\s-\s[A-Za-z\d]{1,18}\s-\s[A-Z]\s?[a-z]+\s[A-Za-z]+\s?[A-Za-z]
这匹配一个设备更改。我希望能够+或{1,12}使其处理多个更改。
任何帮助将不胜感激。
由于
答案 0 :(得分:1)
如果您没有尝试分离设备更改,这应该可行。 (将所有内容传递到冒号,然后取出其余的字符串。)
.*:(.*\z)
如果您尝试将它们分开,则可以使用分号进行拆分。 (将所有内容传递到冒号,然后将字符串中的部分用分号分隔,最后一部分在字符串结束时结束。)
.*:(.*;)*(.*)\z