C# 正则表达式只捕获最后几个值
我有一个很大的文件C# 正则表达式只捕获最后几个值,c#,html,.net,regex,C#,Html,.net,Regex,我有一个很大的文件 <title>words words </title> 单词 作为描述符,我试图找到一个正则表达式,以提供我找到的这些标记之间的数据 <title.*?>(\w+)</title> (\w+) 这将起作用,但只拾取一些匹配,我认为这是因为标签通常是这样的 adaddad<title>Word word word</title>sdfdsfdsfs adaddad<title>Wor
<title>words words </title>
单词
作为描述符,我试图找到一个正则表达式,以提供我找到的这些标记之间的数据
<title.*?>(\w+)</title>
(\w+)
这将起作用,但只拾取一些匹配,我认为这是因为标签通常是这样的
adaddad<title>Word word word</title>sdfdsfdsfs
adaddad<title>Word word word</title>sdfdsfdsfs
adaddaword单词
通常两边都有随机垃圾。我真的很不擅长正则表达式,并且还在努力学习它。我已经找到了很多非常接近的帖子,但是没有一个能完全解决我的问题
:origLink></item>\r\n<item><title>words word word</title><guid is
:origLink>\r\nWord word word我认为问题在于您试图使用\w
捕获包含单词字符和空格的文本。应该是:
<title.*?>([\w\s]+?)</title>
([\w\s]+?)
这将强制文本如下所示
adaddad<title>Word word word</title>sdfdsfdsfs
adaddad<title>Word word word</title>sdfdsfdsfs
adaddaword单词
要同时使用单词和空格捕获,我认为问题在于您试图使用\w
捕获包含单词字符和空格的文本。应该是:
<title.*?>([\w\s]+?)</title>
([\w\s]+?)
这将强制文本如下所示
adaddad<title>Word word word</title>sdfdsfdsfs
adaddad<title>Word word word</title>sdfdsfdsfs
adaddaword单词
要用单词和空格捕获,请改用
^[^<]*<title.*?>([^<]*)</title>.*$
^[^改用
^[^<]*<title.*?>([^<]*)</title>.*$
^[^试着让你的正则表达式变得贪婪
<title.*?>.+?</title>
+?
而且,\w+将不匹配空格“”
尝试expresso对您的正则表达式进行微调尝试使您的正则表达式变得贪婪
<title.*?>.+?</title>
+?
而且,\w+将不匹配空格“”
尝试expresso微调您的正则表达式乐意帮助,请将此标记为答案,以便其他人也能快速找到答案。@Jras,+?
不贪婪,它懒惰,而且您没有任何捕获组…?乐意帮助,请将此标记为答案,以便其他人也能快速找到答案。@Jras,+?
不贪婪,它很懒,而且你没有任何捕获组。。。?