gpt4 book ai didi

c# - 读取\"inside "..."作为字符串标记

转载 作者:行者123 更新时间:2023-11-30 17:04:21 25 4
gpt4 key购买 nike

我在编译器设计项目中使用 C# 正则表达式。

我正在使用词法分析器,我必须根据我设置的规则对代码进行标记。

我将我的字符串定义为 [\".*?\"] 并将双引号定义为 [\"]

当我输入 "Hi" 时,它被读取为 STRING TOKEN。

但是当我输入 "\"" 时,它会为 "\" 生成 STRING,为 "< 生成 DOUBLE-QUOTE/.

我希望它被读取为 STRING TOKEN。

换句话说,我想正确解析包含转义双引号的字符串。

最佳答案

我相信你想要的模式是:

"(?:[^"]|\")*"

这将匹配引号内的任何非引号字符或斜杠引号对。例如:

var input = @"1 2 3 ""Hello \""Word\""!""";
var match = Regex.Match(input, @"""(?:[^""]|\"")*""");

Console.WriteLine(match.Value); // "Hello \"Word\"!"

关于c# - 读取\"inside "..."作为字符串标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17562283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com