用 RegEx 替换罗马数字 I-XXX

replacing Roman Numerals I-XXX with RegEx

删除罗马数字的章节标题(不超过 30,后跟 space,然后是冒号)我使用:

str = str.replace(/^((X{0,3})(I{0,1})(V{0,1})(X{0,1})(I){0,3}:\s+?)$/gim, "");

只是好像是super-slow。我哪里错了?

/^([IVX]+:\s+?)$/gim

那会运行快一点,它寻找罗马数字字符作为字符集。此外,您当前的版本将匹配只有一个冒号的行(没有罗马数字)。