Regex xml日期表达式
本文关键字:表达式 日期 xml Regex | 更新日期: 2023-09-27 18:08:42
我有一个反序列化的xml,看起来像这样:
http://wklej.org/id/2869540/如何编写一个正则表达式来查找并只返回第一个日期表达式23.12.2010
,这可能是另一个xml文档。
我从来没有使用过regex,我甚至不知道如何为它写一个模式。请帮助。
不要使用Regex进行HTML/XML解析。使用Html/Xml解析器。以下是你不应该使用它的原因。
RegEx匹配开放标签,除了XHTML自包含标签
你能提供一些例子来说明为什么很难用正则表达式解析XML和HTML吗?
您可以在XDocument或XmlDocument中加载字符串,并使用linq获取您需要的任何内容。
这里有一个小的例子如何做到这一点:
string str =
@"<?xml version=""1.0""?>
<!-- comment at the root level -->
<Root>
<Child>Content</Child>
</Root>";
XDocument doc = XDocument.Parse(str);
之后,使用linq选择所需的节点并获取值。这个问题可以帮到你:
在XDocument中查找元素?
按照其他人的建议,使用Html/Xml解析器。如果你真的想使用正则表达式,你可以试试:
string xml= "yourXMLString";
string pattern = @"'d{1,2}'.'d{1,2}'.'d{4}"; //also matches dates like 1.3.2016. Use 'd{2} to only match 01.03.2016
Regex regEx = new Regex(pattern);
Match m = regEx.Match(xml); // m is the first match
if (m.Success)
{
Console.WriteLine(m.Value); //prints the first found date
}