簡體   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