gpt4 book ai didi

c# - 正则表达式问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:04 24 4
gpt4 key购买 nike

RegexBuddy 显示匹配正常,但在 C# 中,当我尝试使用替换时,分号和大括号没有被替换。

我使用的表达式如下:

@"({\\)(.+?)(}+)|(\s?\\)(.+?)(\b)|}$"

并且屏幕截图中包含输入文本 (rtf)。这是代码:

Regex reg2 = new Regex(@"\\b([\s\S]+?)\\b0");
MatchCollection matches = reg2.Matches(text);

foreach (Match match in matches)
{
string output = reg.Replace(match.Value, "");
MessageBox.Show(output);
}

RegexBuddy screenshot

最佳答案

您正在尝试将嵌套结构与正则表达式匹配。看看你的截图:在第一行有三个左大括号和一个右大括号,在你的第三行你有一个左大括号和两个右大括号等等。

虽然 .NET 确实提供了使用正则表达式进行嵌套模式匹配的方法,但您的正则表达式并未使用它们(这让我非常困惑您究竟希望实现什么)。

您肯定需要使用不同的方式来解析 RTF 文件;遗憾的是,我不知道 .NET 库是否提供 RTF 解析器。

关于c# - 正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6584428/

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