您好我需要一個正則表達式一些幫助:正則表達式,捕獲組
我需要什麼:
- 只使用與d開始行。
- d後第一個小數應該在第一組中。
- 小數點後第二個小數點應該在第二個小組。
- 在前面與空間中的所有以下小數應該被添加到第三組
這是一些示例內容:
test 0.000000 1.05024905 0.00000000
test 0.000000 1.05024905 0.00000000
d 0.000000 1.05024905 0.00000000
d 22.042142 1.63673887 10.93467607 79.06532393 100.93467607 169.06532393 190.93467607 259.06532393 280.93467607 349.06532393
d 30.573646 1.98939080 45.00000000 135.00000000 225.00000000 315.00000000
d 35.000000 1.89275124 0.00000000 90.00000000 180.00000000 270.00000000
d 38.591663 2.22368376 23.21666883 66.78333117 113.21666883 156.78333117 203.21666883 246.78333117 293.21666883 336.78333117
d 42.456724 2.16349500 7.32782836 82.67217164 97.32782836 172.67217164 187.32782836 262.67217164 277.32782836 352.67217164
d 90.000000 3.53392178 38.65670480 51.34329520 128.65670480 141.34329520 218.65670480 231.34329520 308.65670480 321.34329520
d 90.000000 3.32645147 22.47120039 67.52879961 112.47120039 157.52879961 202.47120039 247.52879961 292.47120039 337.52879961
d 90.000000 3.19196954 16.27363186 73.72636814 106.27363186 163.72636814 196.27363186 253.72636814 286.27363186 343.72636814
d 90.000000 3.16746506 15.19498176 74.80501824 105.19498176 164.80501824 195.19498176 254.80501824 285.19498176 344.80501824
d 90.000000 3.11573668 12.82369963 77.17630037 102.82369963 167.17630037 192.82369963 257.17630037 282.82369963 347.17630037
我想使用它像以下:
string pattern = [email protected]"d +(?<{Grp1}>\-?[0-9]*\.[0-9]*) (?<{Grp2}>\-?[0-9]*\.[0-9]*) (?<{Grp3}>\-?[0-9]*\.[0-9]*)(.*)";
var matches = Regex.Matches(content, regexPattern);
foreach (Match match in matches)
{
var group1 = match.Groups[Grp1];
var group2 = match.Groups[Grp2];
var group3 = match.Groups[Grp3];
foreach (var capture in group3.Captures)
{
}
}
無法得到正確的正則表達式。
在此先感謝。
'^ d(\ d + \ \ d +)(\ d + \ \ d +)$'是(*)。我想出了什麼。它很可能會改善很多,但是。 – ThePerplexedOne
你需要以'd'開始的行,這就是爲什麼你用'a'開始你的模式的原因?這是不合邏輯的。 –
對不起,錯字,調整... – daageu