我在Regex上并不是很聪明,还在学习如何利用它,我真的很感激一些帮助。
我有一个这样的字符串:
"Language<option value='32'>Bahasa Indonesia<option value='19'>Dansk<option value='4'>Deutsch<option value='1'>English<option value='2'></option></option></option></option>"
我需要将其转换为可以使用的内容,例如:
public class CVModel
{
public string value;
public string content;
}
如何使用Regex提取此信息?我知道我可以使用
"<.*?>"
去掉选项标签用分隔符替换它们,我可以用它来分割成一个列表。但是我如何提取&#34;值&#34;属性?在期待中感谢!
答案 0 :(得分:0)
这只是一个适合您的示例字符串的简单正则表达式。它没有尝试考虑您可以使用HTML执行的所有操作,例如在选项标记上添加其他属性,或非数字值等,但它快速且有效:
var regex=@"<option value='(?<value>\d+)'>(?<content>[^<]*)";
var search=@"Language<option value='32'>Bahasa Indonesia<option value='19'>Dansk<option value='4'>Deutsch<option value='1'>English<option value='2'></option></option></option></option>";
var list=System.Text.RegularExpressions.Regex
.Matches(search,regex)
.Cast<Match>()
.Select(match => new {
Value=match.Groups["value"].Value,
Content=match.Groups["content"].Value});
您的HTML选项不应该像这样嵌套。