2010-09-16 103 views
1

我寫了下面的模式:C#正則表達式模式<id> ....</id>

@"<([0-9]+)>(.*?) < /$1>" 

,但它不工作。 我怎麼可以參考第一組?

原文:

"Method()<0>int x = 0; while(x < 10)<1>echo(x)< /1>< /0>" 
+0

所以,你正在尋找的是尖括號內的第一個數字?然後你還捕獲了字符串的其餘部分?如果在你的問題中你還包含了你想要捕捉的源自你的真實文本,這將有所幫助。 – saunderl 2010-09-16 16:37:49

+0

請參考以下內容:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 ...它不是xml,但它是相似的。這個人提出了一個有效的觀點 – DaveDev 2010-09-16 16:39:07

回答

2

這將是\1,並觀看了空間。
參見:.Net Regex Backreferencing

+0

我不認爲'0'是XML的合法標籤名稱,所以XML解析器可能會抱怨。 – strager 2010-09-16 16:34:35

+1

即使正則表達式在這種情況下工作,請仔細閱讀爲什麼真正的正則表達式一般無法解析XML文件。 – 2010-09-16 16:36:35

+0

@strager - 好點,我沒有看到這些,直到我編輯問題':P' – Kobi 2010-09-16 16:36:39