繁体   English   中英

试图理解.NET正则表达式

[英]Trying to understand .NET regular expressions

我一直在做很多关于.NET正则表达式的阅读,我已经开发了一个正则表达式,我无法理解。

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

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

  1. 完全匹配“src”或“href”
  2. 其次是=“
  3. 接下来匹配1个或多个单词字符([a-zA-Z0-9_])或一个或多个(一个或多个单词字符后跟/)

这是为了匹配'src =“Folder','src =”folder /','href =“Folder / SubFolder /'等。

输入:

<!DOCTYPE html>
<html xmlns =“http://www.w3.org/1999/xhtml”>
<HEAD>

使用此正则表达式,使用此输入,有一个匹配项。

组织/ 1999 /

任何人都可以解释一下吗? 整个字符串中没有引用Src或href,怎么会有任何匹配?

这里发生的是| 正在将正则表达式分成两个完全独立的条件。 那就是选择: (src|href)="\\w+ OR (\\w+/)+ ,其中匹配第二位:

org/1999/

在你的情况,你很可能需要把最后一部分括号要清楚究竟交替| 指:

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

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

例如,试试Expresso 它有一个很好的“解释”功能。

试试这个应用程序http://www.regexbuddy.com/ 您可以将RegEx风格设置为.NET,它有一个很好的选项卡,可以分解您的RegEx的每个元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM