Regex 如何将多个正则表达式字符串组合成一个?

Regex 如何将多个正则表达式字符串组合成一个?,regex,Regex,我的代码有五个不同的正则表达式字符串: Regex regex = new Regex(@"(\n )?\[see=[^\]]*\]]"); phraseSources .ToList() .ForEach(item => item.JmdictMeaning = regex.Replace(item.JmdictMeaning, "")); reg

我的代码有五个不同的正则表达式字符串:

            Regex regex = new Regex(@"(\n  )?\[see=[^\]]*\]]");

            phraseSources
                .ToList()
                .ForEach(item => item.JmdictMeaning = regex.Replace(item.JmdictMeaning, ""));

            regex = new Regex(@"(\n  )?\[note=[^\]]*\]");

            phraseSources
                .ToList()
                .ForEach(item => item.JmdictMeaning = regex.Replace(item.JmdictMeaning, ""));

            regex = new Regex(@"(\n  )?\[restr=[^\]]*\]");

            phraseSources
                .ToList()
                .ForEach(item => item.JmdictMeaning = regex.Replace(item.JmdictMeaning, ""));

            regex = new Regex(@"(\n  )?\[ant=[^\]]*\]");

            phraseSources
                .ToList()
                .ForEach(item => item.JmdictMeaning = regex.Replace(item.JmdictMeaning, ""));

            regex = new Regex(@"(\n  )?\[syn=[^\]]*\]");

            phraseSources
                .ToList()
                .ForEach(item => item.JmdictMeaning = regex.Replace(item.JmdictMeaning, ""));

有没有一种方法可以将它们合并到一个正则表达式中?

使用|运算符并将all与parentesis()一起分组()

您可以在内部组中使用or运算符

(\n  )?\[((see|note|ant|restr|syn)=[^\]]*)\]

您能为每个正则表达式提供一些匹配文本的示例吗?“有没有一种方法可以将这些正则表达式组合成一个正则表达式?”--有多种方法可以将两个
正则表达式组合成一个正则表达式。这取决于您想用新的
regex
实现什么。