匹配一组字符或什么都不匹配的正则表达式

Regular Expression that matches a set of characters or nothing

我收到了一组文本:

我正在尝试正则表达式:PCRE(PHP<7.3)

^(\d+) [^$]+ (\d+ \w+ \d+) (\d.+ \w.+) \S (Dkt\S\d+)[^$]+ ($.*)$

解析上面的内容但是,我无法从上面的列表中解析“O/N: ONE DENTAL”或“O/N: YOUR CAR SOLD”

如果Dkt#xxxx后面有东西,我该怎么做,它也会被解析或什么都不解析

因为你已经有了这个模式,我对它做了一些小的修改。这是基于提供的示例字符串,如果您有用于匹配的规则的其他变体,可能需要进一步修改。

Example:

^(\d) (\S+) (\d{2} \w{3} \d{4}) (.*)\s+-\s(Dkt\S+)\s*(.*?)\s*($\d+(?:\.\d+)?)\.?\s*$