gpt4 book ai didi

C# 正则表达式替换但仅替换编号的子组

转载 作者:行者123 更新时间:2023-12-03 22:00:31 25 4
gpt4 key购买 nike

我正在尝试使用正则表达式清理一些不可靠的 xml 属性。

我的输入字符串是这样的

<TD X:NUM class=xl101P24_2>I Want to send a FAX:but not </TD>

我想要的输出字符串是这个

<TD class=xl101P24_2>I Want to send a FAX:but not </TD>

我的代码现在看起来像这样

public static Regex regex1 = new Regex(
"<\\w*\\s*(X:\\w*)",
RegexOptions.IgnoreCase
| RegexOptions.CultureInvariant
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);

public void doRegex()
{
string InputText = @"<TD X:NUM class=xl101P24_2>I Want to send a FAX:but not </TD>";

string result = regex1.Replace(InputText,"");

//result now = " class=xl101P24_2>I Want to send a FAX:but not </TD>"
}

所以我需要进行替换,但只想替换编号的子匹配,即“X:NUM”。我该怎么做???

迈克尔

最佳答案

您应该使用前瞻结构(匹配前缀但排除它)。这样,第一部分(“<TD ”部分)将不会被匹配,也不会被替换:

"(?<=<\\w*)\\s*(X:\\w*)"

关于C# 正则表达式替换但仅替换编号的子组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1108071/

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