【发布时间】:2012-04-19 09:40:54
【问题描述】:
我正在尝试编写一个正则表达式来匹配某种形式的字符串:
"[A-Za-z][A-Za-z]-[A-Za-z][A-Za-z]_[match all chars]"
我要匹配的字符串必须是这种形式,包括连字符和下划线。到目前为止我有:
Regex regEx = new Regex(@"[A-Za-z]+(-[A-Za-z]+)+*$", RegexOptions.IgnorePatternWhitespace);
我不确定如何添加下划线字符以便匹配。
此元素是我希望匹配的 XML 元素;我还想检索这个元素的内容。我怎么能这样做?
var newVar = from e in doc.Descendants("DocumentElement").Descendants()
where regEx.IsMatch(e.Name.LocalName)
select e;
【问题讨论】:
-
请提供输入文本的示例,以及您要查找的匹配项。这太模糊了。如果有足够的信息,Regex 可以很好地找到匹配项。它是必须匹配正则表达式的单个表达式吗?它是一个完整的文本,您需要在其中找到匹配项吗?这些是非常不同的事情。 (我真的不明白没有这些信息,其他人怎么能给出答案)
标签: c# xml regex linq-to-xml pattern-matching