我如何正确使用正则表达式?为什么这不起作用?

时间:2011-09-26 20:42:02

标签: c# regex

  

可能重复:
  RegEx match open tags except XHTML self-contained tags

string regex = "<Name[.\\s]*>[.]*s[.]*</Name>";
string source = "<Name xmlns=\"http://xml.web.asdf.com\">Session</Name>";


bool hit = System.Text.RegularExpressions.Regex.IsMatch(
                                source,
                                regex,
                                System.Text.RegularExpressions.RegexOptions.IgnoreCase
                            );

为什么hit是假的?我正在尝试查找名称中包含Name的任何's' XML字段。我不明白什么是错的。

谢谢!

2 个答案:

答案 0 :(得分:4)

您在字符类中使用.,其中字面意为.,我认为您的意思是在任何字符的意义上使用 - 所以.*而不是{{1 }}

[.]*

答案 1 :(得分:2)

使用XPath,这可以像/Name[contains(.,'s')]

一样简单