我在下面的表單中有一個字符串 - 對於小提琴see here。正則表達式匹配一個字符串,但只通過分組引起其中的一部分
{[(0.3; 0.43)(10; 8.2)(0; 0)(0.7888; 12.345)]:8.56/13.9}
我想僅篩選中的座標括號。因此,我設置的匹配模式識別出一對括號(用於轉義分組的兩個反斜槓)。然後,它創建一個組,其內部具有最少的一組字符,只要用分號分隔並用圓括號括起來即可。根據調試器我有四個匹配,這表明它是正確的。但是,當我訪問分組時,我看到兩個元素 - 一個包含一對括號和一個沒有。
Regex regex = new Regex("\\((.*?;.*?)\\)");
string full = regex.Matches(figure.ToString())[0].Value;
string with = regex.Matches(figure.ToString())[0].Groups[0].Value;
string sans = regex.Matches(figure.ToString())[0].Groups[1].Value;
我不能完全確定,其中第一組(組[0])從獲取信息。我懷疑我沒有足夠好地表達正則表達式,並且它實際上對逃脫的括號做出了反應,就好像它是一個分組一樣。我懷疑是對的嗎?我應該如何重新表達這個表達?
這太出人意料了,令人困惑......我在你的鏈接上看到了文檔,但仍然存在。那是什麼目的?也許我不理解這種方式有用嗎? –