У меня проблемы со следующей проблемой: мне нужно заменить кавычки на угловые, но если предложение получило кавычки снова - заменять не нужно.
Поэтому, чтобы получить открытую цитату, я использую следующее:
const regexStartQuote = /"(?=\S)/gm;
const replaceStartQuote = '«'
чтобы заменить кавычку закрывающей, которую я использую:
// const regexEndQuote = /(?<=\S)"/gm; // not supported in Mozilla
const regexEndQuote = /"(?=\s)/gm;
const replaceEndQuote = '»'
И это работает. Я имею в виду: «Некоторый текст» -> «Некоторый текст»
Кстати, я работаю с draftjs, и эти изменения применяются на лету.
И мне нужно расширить существующие регулярные выражения, так что если предложениедолжно быть что-то вроде:
«Некоторый текст« Текст в кавычках », что-то большее»
И, конечно, возможные варианты, такие как:
«Некоторый текст« Текст в кавычках », что-то еще»
«Некоторый текст:« Текст в кавычках », что-то еще»
«Немного текста:« Текст в кавычках », - нечто большее»
ОБНОВЛЕНИЕ
Ход программы следующий: каждый набираемый символ объединяетсясо строкой. Я имею в виду, сначала, когда, например, текстовое поле пусто
строка просто `` (пусто),
, затем тип пользователя 'w' -> строка становится w
,
затем 'o' -> строка wo
,
, затем 'w' -> строка wow
,
then '' (пробел) -> строка wow
,
затем "
-> строка равна wow «
и т. Д.
Как я понимаю, регулярное выражение должно выглядеть примерно так:
`ЕслиПользователь набрал «и нет» перед ним, но у нас есть «мы не должны меняться».