如何用c#编写这个正则表达式

本文关键字:正则表达式 何用 | 更新日期: 2023-09-27 18:13:38

我有一个这样的字符串:

N:string of unknown length'r'n

我想要"未知长度的字符串"读入一个变量。N:总是字符串的开始,'r' N总是字符串的结束,并且我需要在两者之间。

我c#

String pattern ="help needed"
string result = Regex.IsMatch(pattern,myString).ToString();

编辑! !对不起,我发现我不太清楚我想要什么。

我正在寻找的字符串N:string of unknown length'r'n是一个更大的字符串的子字符串。外汇Bla bla'r'n bla bla N:string of unknown length'r'n more bla bla N:string of unknown length'r'n并且只会出现一次

如何用c#编写这个正则表达式

如果它总是以"N:"开头并且总是以"'r' N "结尾,那么你根本不需要正则表达式-你可以使用Substring:

string result = text.Substring(2, text.Length - 4);

(这是假设"'r'n"实际上是指两个单独的字符"'r"answers"'n"。如果您的意思是4个字符,请将4更改为6。

如果你也想做验证,我会使用:

if (text.StartsWith("N:") && text.EndsWith("'r'n"))
{
    string result = text.Substring(2, text.Length - 4);
}
//Regex.IsMatch(pattern,myString)//IsMatch is test, pattern <-> myString , Reverse the order
string pattern ="N:(.+)$";//. is not newline
string result = Regex.Match(myString, pattern).Groups[1].ToString();

即使没有正则表达式也可以写这个,如果你想知道如何使用正则表达式写这个,我也会发布这个。

你可以使用以下模式:

N:(.*)''r''n
string pattern = "N:(.*)''r''n";
string text = "N:Hello String World 'r'n";
Regex r = new Regex(pattern, RegexOptions.IgnoreCase);
Match m = r.Match();
if(m.Success){
    Console.WriteLine("Extracted text:"+ m.Groups[0]);
}