试图理解.net正则表达式

本文关键字:net 正则表达式 | 更新日期: 2023-09-27 18:08:37

我读了很多关于。net正则表达式的书,我开发了一个正则表达式,我不能理解。

(src|href)="'w+|('w+/)+

我读这个正则表达式的方式:

  1. 完全匹配"src"或"href"
  2. 后接="
  3. 后跟匹配1个或多个单词字符([a-zA-Z0-9_])或一个或多个(后跟/的一个或多个单词字符)

这意味着匹配类似'src="Folder ", 'src="Folder/", 'href="Folder/SubFolder/"等。

输入:

& lt; !DOCTYPE html>
& lt; html xmlns ="http://www.w3.org/1999/xhtml&quot祝辞
& lt; head>

使用这个正则表达式,对于这个输入,有一个匹配。

org/1999/

谁能解释一下这个?Src或href没有在整个字符串中引用,怎么可能有任何匹配?

试图理解.net正则表达式

这里发生的是将正则表达式分隔为两个完全独立的条件。即选择(src|href)="'w+('w+/)+,其中第二比特是匹配的:

org/1999/

在您的情况下,您可能需要将最后一部分放在括号中,以明确|所指的替代究竟是什么:

(src|href)="('w+|('w+/)+)

顺便说一下,我使用Expresso来帮助解决这个问题。