2012-12-22 388 views
0

我需要相關REGEXMATCH文件結尾你的幫助(C#):Regex.Match幫助:-93-11.html,希望得到11(例如)

我需要一直延伸.html和之間的數字前第一負

例如(如果自右至左讀):

-213.html 尋找213

-93-32.html 尋找32

我已經試過了 - ([^ \「] *)。html,但是在secone的例子中,它給了我-93-32。

(順便說一句與我目前的解決方案上面,我也得到了減,如果你知道我可以exlude,請讓我知道,我目前正在做替換「 - 」用「」事後)

在此先感謝, Ralf

回答

2

(\d+)\.html$應該這樣做。這裏的$表示行錨的結束。

如果你不想捕獲.html使用(\d+)(?:\.html)$(雖然還沒有測試過)。

沒有錨,如果你從左向右讀,這將是-(\d+)\.html

+0

瘋狂的東西,我永遠不會明白。我嘗試了你的第一個解決方案,它效果很好。最後還有一種方法可以擺脫.html嗎?因爲我現在得到32.html我現在使用Regex.Match(getpagefirst1,「(\\ d +)\\。html $」); –

+0

正則表達式很難理解。但是一旦明白了,你就會被誘惑到處使用它。 –

+0

@RalfRymer對您的評論更新我已更新我的答案。 –

0

你的模式是"-([0-9]+?).html"

+1

你應該逃避''',並沒有必要使重複不認真 –

+0

@climbage它不,你應該在比賽中獲得結果。 match.Result( 「$ 1」); – VladL

+0

@ m.buettner沒有必要轉義點,因爲在這種情況下,它恰好是html之前的一個字符,因此無論哪一個 – VladL