我是非常新的正則表達式,無法讓我的頭完全纏繞它。如何從字符串中提取以逗號分隔的數字
我想寫兩個正則表達式的 - 你需要告訴我,如果他們甚至可能。兩者都基於VB.net語法。
正則表達式1: 字符串我測試反對 - 在磁盤上 大小:25754900936個字節
它擁有領先的空間屈指可數,但文本始終是相同的。我試圖提取出這個數字(25,754,900,936)。
我試過一些正則表達式,但是我不能在一行上得到所有東西。這些逗號會讓我搞砸,並返回多個匹配項(例如,\ d + \ W +會給我四個匹配項,每一組數字都用逗號分隔)
我做的最好的是[0-9/,] *,但是這給了我25個空的比賽和一個比賽(在比賽19)的數字。我需要這匹配匹配1.
可以嗎?看到一個正則表達式,我可以從字符串中提取這樣的數字,這真的很有幫助。
正則表達式2:
相同的想法,但現在是多行。
我測試對字符串 -
0 File(s) 0 bytes
1 File(s) 11,546 bytes
1 File(s) 259,584 bytes
3 File(s) 5,682 bytes
17218 File(s) 25,705,262,230 bytes
我只需要在最後一行(25705262230)的總字節數。是否有可能在多行搜索中做到這一點?相同的交易 - 文字總是相同的。
James - 兩個都確實有效,但我實際上並沒有在.net中使用它 - 我使用的是可以執行regex的第三方應用程序。不幸的是,它只能用於第一個捕獲,第一組。在第二個正則表達式中的任何方式來獲得它的位置?現在它仍然有第一組的字節字第一次捕捉,但否則它是完美的。 – Pat
@Pat啊我沒有看到任何擔憂。你需要添加一個積極的向前看,這樣字符串的末尾(你不希望捕獲的'字節')將不會被包含。我已經修改了上面的第二個正則表達式。讓我知道如果這是有效的 - 我簡單地通過使用'regex.Match([你的字符串])提取匹配的值(不帶'字節')。值# –
完美 - 謝謝! – Pat