C#regex.replace()中的多个模式

C#regex.replace()中的多个模式,c#,.net,regex,C#,.net,Regex,如何将多个模式传递给regex.replace()模式参数 在PHP中,您只需放弃包含它们的数组。C#中是否有类似的选项 我正在遍历一些用户名,其中一些用户名被html标记包围。html标记并不完全相同。但我知道他们是谁 因此,如果我可以在regex.replace()模式参数中传递多个要查找的模式,那就太好了。或者,我必须为每个html标记创建一个单独的模式,并运行regex.replace()函数 希望我清楚自己想要完成什么 提前谢谢 [编辑] @艾伦·摩尔 底线是,从字符串中删除所有htm

如何将多个模式传递给regex.replace()模式参数

在PHP中,您只需放弃包含它们的数组。C#中是否有类似的选项

我正在遍历一些用户名,其中一些用户名被html标记包围。html标记并不完全相同。但我知道他们是谁

因此,如果我可以在regex.replace()模式参数中传递多个要查找的模式,那就太好了。或者,我必须为每个html标记创建一个单独的模式,并运行regex.replace()函数

希望我清楚自己想要完成什么

提前谢谢

[编辑] @艾伦·摩尔

底线是,从字符串中删除所有html标记,这是我试图做的

[/EDIT]

//我假设每个要替换的东西都有一个正则表达式
// I’m assuming you have a regex for each thing you want to replace
List<string> multiplePatterns = [...];

string result = Regex.Replace(input, string.Join("|", multiplePatterns), "");
列出多个模式=[…]; string result=Regex.Replace(输入,string.Join(“|”),multiplePatterns),”;
//我假设您要替换的每个东西都有一个正则表达式
列出多个模式=[…];
string result=Regex.Replace(输入,string.Join(“|”),multiplePatterns),”;

使用regexp除法器
|
,例如:

</?html>|</?head>|</?div>
||

使用regexp除法器
|
,例如:

</?html>|</?head>|</?div>
||

如果性能很重要,并且用户名中没有“”的风险,那么这可能会起作用:

string RemoveTags(string s)
        {
            int startIndex = s.IndexOf('<');
            int endIndex = s.IndexOf('>');
            return startIndex >= 0 && endIndex >= 0 ? RemoveTags(s.Remove(startIndex, endIndex - startIndex + 1)) : s;
        }
字符串移除标记(字符串s)
{
int startIndex=s.IndexOf(“”);
返回startIndex>=0&&endIndex>=0?移除标记(s.Remove(startIndex,endIndex-startIndex+1)):s;
}

如果性能很重要,并且用户名中没有“”的风险,那么这可能会起作用:

string RemoveTags(string s)
        {
            int startIndex = s.IndexOf('<');
            int endIndex = s.IndexOf('>');
            return startIndex >= 0 && endIndex >= 0 ? RemoveTags(s.Remove(startIndex, endIndex - startIndex + 1)) : s;
        }
字符串移除标记(字符串s)
{
int startIndex=s.IndexOf(“”);
返回startIndex>=0&&endIndex>=0?移除标记(s.Remove(startIndex,endIndex-startIndex+1)):s;
}

那么您有一个字符串列表,每个字符串完全由一个用户名组成,可选地包含在HTML标记中?它们是什么标签并不重要;只需删除任何看起来像标记的内容:

name = Regex.Replace(name, @"</?\w+[^<>]*>", String.Empty);
name=Regex.Replace(name,@“”,String.Empty);

那么您有一个字符串列表,每个字符串完全由一个用户名组成,可选地包含在HTML标记中?它们是什么标签并不重要;只需删除任何看起来像标记的内容:

name = Regex.Replace(name, @"</?\w+[^<>]*>", String.Empty);
name=Regex.Replace(name,@“”,String.Empty);

如果您告诉我们您想做什么,而不是如何做,您会得到更好的帮助。忘掉那些你从其他语言中知道的噱头吧,告诉我们你想要达到什么样的结果。请编辑您的问题并将信息放在那里,而不是放在评论中。如果您告诉我们您想做什么,而不是如何做,您会得到更好的帮助。忘掉那些你从其他语言中知道的噱头吧,告诉我们你想要达到什么样的结果。请编辑你的问题,并把信息放在那里,而不是在评论中。这是一个很好的例子。我希望它能够实现一种通用的方式,将一个或多个条件添加到正则表达式中,我希望用户能够指定自己的条件。我假设您也可以提供一个字符串数组而不是列表。这是一个很好的示例。我希望它能够实现一种通用的方式,将一个或多个条件添加到正则表达式中,我希望用户能够指定自己的条件。我假设您也可以提供一个字符串数组而不是列表。