0

我正在寻找一个正则表达式来匹配 C++ 源代码中的宽字符串文字,即那些以大写开头的L

L"Hello World!"

L", "一行中可能有多个文字,并且在以下示例中不能匹配:

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

最好的方法是什么?

4

1 回答 1

0

L这个正则表达式通过匹配最后一个-string 文字(以及之前的所有内容)部分地解决了这个问题:

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

这使我可以反复搜索并用这个替换替换正则表达式:

\1u"\2"

这对我的任务来说已经足够好了(将L-literals替换为u-literals)。

于 2013-09-02T13:16:27.787 回答