「12345」と「123.5」の両方の値を取得してコレクションに入れたい文字列があり、ループして何かを行うことができます。誰かがこれを手伝ってくれますか?
string test = "Hello World [12345] - [123.5]"
string anothertest = "Hello World [A12345 (05,00,45)] [518.6Z] [51.5]"
「A12345」「518.6Z」「51.5」でお願いします
次の正規表現を使用します。
\[(\d+\.?\d+)\]
group(1) が必要です。
たぶん、この半疑似が役立つでしょう...
Regex expression = new Regex(@"\[(\d+\.?\d+)\]");
var results = expression.Matches(test);
foreach (Match match in results)
{
//do whatever you want.
}
編集した 2 番目の部分の場合:
\[(\d*\w*\.?\d*\w*)(?!\()
「?!」は否定的な先読みアサーションであり、この場合は「( が続かない前のものに一致する」ことを意味します。