C#帮助正则表达式模式

时间:2011-07-05 06:35:36

标签: c# regex

我有一个字符串。

我必须找到此字符串的特定部分。我想使用正则表达式。

我需要在此名称中找到目的地部分* = UTF-8''目的地\ r \ n字符串。哪个是好模式?

感谢。

2 个答案:

答案 0 :(得分:3)

要查找name*=UTF-8''destination\r\n,您可以使用类似

的内容
name\*=(.*)$

=之后的字符串部分将在捕获组1中。

如果你真的只想要destination部分,它可能更像是

name\*=UTF-8''(.*)$

*是正则表达式中的特殊字符(0或更多次出现的量词),因此您需要将其转义\*

()括号创建一个捕获组(访问类似result.Groups[1])

$是一个匹配行尾的锚点。 (您的\r\n

String Text_A = @"name*=UTF-8''destination
    ";
Regex A = new Regex(@"name\*=UTF-8''(.*)$");
var result = A.Match(Text_A);
Console.WriteLine(result.Groups[1]);

但是您提供的信息有点稀疏,您能解释一下并提供更多背景信息吗?

答案 1 :(得分:1)

我不完全确定你的问题的哪一部分是要匹配的字符串,但假设你的字符串是“name * = UTF-8”destination \ r \ n“,你可以使用这个Regex字符串:

@"name\*=UTF-8""(?<destination>.*)\r\n"

可以从Match对象访问“destination”字段,即:

var regex = new Regex(@"name\*=UTF-8""(?<destination>.*)\r\n");
var match = regex.Match(test);
var destination = match.Groups["destination"].Value;

根据上下文,您可以使用更通用的正则表达式构造(如. \w \s等)替换匹配字符串的其他部分

干杯,

西蒙