不需要文本的c# Regex

本文关键字:Regex 文本 不需要 | 更新日期: 2023-09-27 18:03:11

我需要解析一些html文本,可以显示为2种不同类型的链接

1. <a href="http://freelistenonline.com/">Site</a>
2. <a class="mobile" href="http://m.freelistenonline.com/">Site</a>

我做了以下RegEx:

<a['s]*class="(?<class>['w'W]*?)"['s]*href="(?<link>['w'W]*?)">

适用于第二种情况,但不适用于第一种情况。我应该如何改变它,使其对两者都有效?我需要识别文本中不需要的部分,例如param class="mobile"。那么我如何修改RegEx以使包含的字符串部分class="(?['w' w]*? "[' s] * 可选?它的语法是什么?

杜克

不需要文本的c# Regex

我认为这将解决您的问题-在'class'部分添加零或更多重复。现在,测试字符串必须包含这个部分,因此第一个字符串失败:

<a['s]+(class="(?<class>['w'W]*?)")*['s]*href="(?<link>['w'W]*?)">

编辑以合并rory.ap注释中注释的类匹配的修复