如何使用Regex或C#中的任何其他方法在给定字符串中找到以下模式?
NAME <some text here> RANK
应该考虑NAME之后,RANK之前和RANK之后的空间。 &lt;&gt;之间的文字会有所不同。
答案 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","");