繁星淼淼
为了避免匹配空字符串,您需要重复该模式四次并替换每个0带着1反过来,并说明V, L和D:(M{1,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})|M{0,4}(CM|C?D|D?C{1,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})|M{0,4}(CM|CD|D?C{0,3})(XC|X?L|L?X{1,3})(IX|IV|V?I{0,3})|M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|I?V|V?I{1,3}))在这种情况下(因为此模式使用^和$)你最好先检查空行,不要麻烦地匹配它们。如果你用字界那你就没有问题了,因为没有空话这回事。(至少regex没有定义一个;不要开始哲学,我在这里是务实的!)在我自己特定的(现实世界)情况下,我需要词尾匹配的数字,而我找不到其他方法。我需要删除我的纯文本文档中的脚注号,比如“红海”克莱大堡礁克莱“已改为the Red Seacl and the Great Barrier Reefcli..但是我仍然对一些有效的词有疑问,比如Tahiti和fantastic被擦洗成Tahit和fantasti.