C# 正则表达式 - 任意顺序的单词、空格、数字和特殊字符

问题描述 投票:0回答:1

这是我尝试使用正则表达式提取信息的示例

class="result-title hdrlnk">CHAVY IMPALA</a><span class="result-meta"><span class="result-price">$1300</span>


class="result-title hdrlnk">1950 Buick Super straight 8 with 3 on the tree</a><span class="result-meta"><span class="result-price">$9850</span>


class="result-title hdrlnk">Buick Lesabre Hardtop Coupe</a><span class="result-meta"><span class="result-price">$8800</span>

我能够成功获取价格,但在获取车辆列表名称时遇到问题。这是正则表达式的示例

此代码非常适合获取价格和附加括号

Regex vg = new Regex(@"</a><span class=""result\-meta""><span class=""result-price"">\$\d+");

我尝试在开头使用句点,但这只会显示列表标题的最后一个字母或数字,而不会显示整个列表标题。

Regex vg = new Regex(@".</a><span class=""result\-meta""><span class=""result-price"">\$\d+");

我也尝试过

Regex vg = new Regex(@">.*</a><span class=""result\-meta""><span class=""result-price"">\$\d+");

Regex vg = new Regex(@">\d+</a><span class=""result\-meta""><span class=""result-price"">\$\d+");

但列表标题不太好:(任何帮助将不胜感激。

c# regex web-scraping numbers space
1个回答
1
投票

尝试这个正则表达式

class=\"result-title hdrlnk\">(.*?)<\/a><span class=\"result-meta\"><span class=\"result-price\">(.*?)<\/span>
,最好一次列出一个。

string input = "your input"
string pattern = @"class=\""result-title hdrlnk\"">(.*?)<\/a><span class=\""result-meta\""><span class=\""result-price\"">(.*?)<\/span>");
Match match = Regex.Matches(input, pattern);
string title = match.Groups[1].Value;
string price = match.Groups[2].Value
© www.soinside.com 2019 - 2024. All rights reserved.