正则表达式找到模式

时间:2012-03-16 14:35:31

标签: c# .net regex

如何使用Regex或C#中的任何其他方法在给定字符串中找到以下模式?

NAME <some text here> RANK   

应该考虑NAME之后,RANK之前和RANK之后的空间。 &lt;&gt;之间的文字会有所不同。

5 个答案:

答案 0 :(得分:1)

使用:

var result = Regex.IsMatch(input, @"NAME\s.*?\sRANK\s{3}");

答案 1 :(得分:1)

看一下http://www.regular-expressions.info/,这是学习Regex非常有用的资源。在C#中,查看System.Text.RegularExpressions命名空间,特别是System.Text.RegularExpressions.Regex类。

答案 2 :(得分:1)

根据要求,这些可能有用(我仍然不确定你的描述中的某些边界条件)。

NAME(?=[ ]).+?(?<=[ ])RANK(?=[ ])

(?<=^|[ ])NAME(?=[ ]).+?(?<=[ ])RANK(?=[ ]|$)

点不包括换行符。它可以替换为[\ s \ S],或者您可以在开头添加(?s)以包含它们。

答案 3 :(得分:0)

简单使用:

if(Regex.IsMatch(input, "NAME .* RANK")) 
{ }

答案 4 :(得分:0)

或者只是简单地做

string s = "NAME sdhfg hgfjh sjfg gf RANK".Replace("NAME ","").Replace(" RANK","");