XML中的C#正则表达式标记

时间:2015-02-20 09:26:15

标签: c# regex

我的文字看起来像这样:

  

" \ xee \ x80 \ x80nike \ xee \ x80 \ x81:\ xee \ x80 \ x80 \ x46ind \ xee \ x80 \ x81您的\ xee \ x80 \ x80greatness \ xee \ x80 \ x81。 (英国) - youtubeis \ xee \ x80 \ x80nike \ xee \ x80 \ x81有目的地取笑一个男孩试图\ xee \ x80 \ x80 \ x66ind \ xee \ x80 \ x81 ..."

我需要删除\ xee \ x80 \ x81或\ xee \ x80 \ x82等标记

我使用以下正则表达式\\xee\\x[0-9][0-9]\\x[0-9][0-9]。它不起作用,但如果我使用\\xee\\x80\\x81它可以工作。我想要一个通用表达式,因为数字可以是任何东西。

有人可以告诉我这是什么问题吗?

1 个答案:

答案 0 :(得分:2)

显然问题在于\xee\x80\x80\x46 - 字符\x80重复两次,然后\x46,因此它与您的模式不匹配。

您可以尝试使用\\xee(\\x[0-9][0-9])+模式 - 它会删除所有出现的\xee后跟一个或多个\x[0-9][0-9]

或者你可以使用\\xee(\\x\d{2})+ - 它基本上是相同的,但从我的角度来看看更优雅。这里d代表“任意数字”,{2}代表“恰好两次”,而()+是“群组出现一次或多次”

var result = Regex.Replace(your_text, @"\\xee(\\x\d{2})+", "");

您的样本的结果将是:

  耐克:你的伟大。 (英国) - youtubeis nike故意取笑一个男孩试图... ...