Удаление заголовков глав римскими цифрами (не более 30, после которых следует пробел, а затем двоеточие) я использую:
str = str.replace(/^((X{0,3})(I{0,1})(V{0,1})(X{0,1})(I){0,3}:\s+?)$/gim, "");
Только он кажется сверхмедленным. Где я ошибаюсь?
^(X{0,3})(I?)(V?)(X?)(I{0,3}):\s+?$
? Почти то же самое, но немного подчищенное. - person Wiktor Stribiżew   schedule 06.08.2015