我正在寻找C#中的快速方法来查找字符串中的所有日期(字符串是一个大文本,我要扫描大约200,000个不同的字符串).
由于有很多方法可以写日期(例如2012年12月31日或2012年12月31日等等),我正在使用这个正则表达式(应该涵盖几乎所有常用的写日期方式):
string findDates ="(?:(\d {1,4}) - /.- /.)|(?:(\\\\\\\\\\\\\\\\\ 1}\{0,1} | 2月.(?:ruary){0,1}\{0,1} |三月(:CH 2){0,1}\{0,1} |的apr(. ?:IL){0,1}\{0,1} | \可能{0,1} |君(:.E){0,1}\{0,1} |七月(?:?ÿ ){0,1}\{0,1} |八月(:UST){0,1}\{0,1} |九月(?:?tember){0,1}\{0,1 } |十月(?:奥伯){0,1}\{0,1} |十一月(?:烬){0,1}\{0,1} | 12月(?:烬){0,1 }\{0,1})\ S +(\ d {2,4}))|(:(一月(:uary){0,1}\{0,1} | 2月(?:??ruary ){0,1}\{0,1} | 3月(:CH){0,1}\{0,1} |四月(?:?IL){0,1}\{0,1 } |可以\ {0,1} |六月:{0,1}\{0,1} |七月(E').(?:Y){0,1}\{0,1} |八月(:UST?){0,1}\{0,1} |九月(?:tember){0,1}\{0,1} |十月(?:奥伯){0,1} \. {0,1} |十一月(?:余烬){0,1}\{0,1} |分解(?:余烬).{0,1}\{0,1})\ S +([O- 9] {1,2})[\ S,] +(\ d {2,4}))";
使用"RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace"标记.此外,我试图预编译正则表达式,使其更快.
问题是它非常慢(在一些文本上超过2秒)是否有更好和有效的方法来做到这一点?
谢谢
我正在尝试从HTML文档中获取文本的简单任务.所以我正在使用HTMLdoc.DocumentNode.InnerText.问题是,在某些网站上,当它们位于不同的标签中时,不要在单词之间放置空格.在这些情况下,DocumentNode.InnerText将这些单词连接成一个,它就变得毫无用处.
例如,我正在尝试阅读包含该行的网站
<span>?stanbul</span><ul><li><a href="i1.htm">Adana</a></li>
Run Code Online (Sandbox Code Playgroud)
我得到了"İstanbulAdana",这是毫无意义的.
我在HTMLAgilityPack文档和Google上找不到任何解决方案
我错过了什么吗?
谢谢,