regex — Регулярное выражение для соответствия строковым литералам в формате C ++ (L & quot; … & quot;)

Я ищу регулярное выражение для соответствия широким строковым литералам в исходном коде C ++, т. Е. Начинающимся с заглавной буквы L:

L"Hello World!"

В строке может быть несколько литералов, и они не должны совпадать L", " в следующем примере:

"some string literal ending in L", "another string literal"

Какой лучший способ сделать это?

0

Решение

Это регулярное выражение частично решает проблему путем сопоставления последнего Lстроковый литерал (и все до этого):

(^[^"\r\n]*(?:"[^"\r\n]*"[^"\r\n]*)*)L"([^"\r\n]*)"

Это позволило мне многократно искать и заменять регулярные выражения этой заменой:

\1u"\2"

что было достаточно для моей задачи (замена L-литералы с u-literals).

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector