我需要生成一个正则表达式来匹配任何具有此结构的字符串:
{"anyWord"}{"aSpace"}{"-"}{"anyLetter"}
我该怎么做?
由于
修改
我试过了:
string txt="print -c";
string re1="((?:[a-z][a-z]+))"; // Word 1
Regex r = new Regex(re1,RegexOptions.IgnoreCase|RegexOptions.Singleline);
Match m = r.Match(txt);
if (m.Success)
{
String word1=m.Groups[1].ToString();
Console.Write("("+word1.ToString()+")"+"\n");
}
Console.ReadLine();
但这只匹配“print”一词
答案 0 :(得分:3)
这很简单:
[a-zA-Z]+\s\-[a-zA-Z]
解释如下:
[a-zA-Z]+ # Matches 1 or more letters
\s # Matches a single space
\- # Matches a single hyphen / dash
[a-zA-Z] # Matches a single letter
如果您需要在C#中实现此功能,则可以使用Regex
类,特别是Regex.Matches()
方法:
var matches = Regex.Matches(yourString,@"[a-zA-Z]+\s\-[a-zA-Z]");
某些示例匹配可能如下所示: