文字列が数字で終わるかどうかを調べたい (小数点あり/なし)。終わったら抜きたい。
"Test1" => 1
"Test" => NOT FOUND
"Test123" => 123
"Test1.1" => 1.1
私はいくつかの詳細を見逃しました。
1. 数字の前に、文字列には特殊文字も含めることができます
。 2. 複数行ではなく単一行です。
C# で次の正規表現を使用します。(\d+)$
行頭、その後の任意の文字、および文字列の末尾の数字 (オプションの小数部分を含む) に一致します (末尾の空白文字を使用できます)。最初の部分は遅延一致です。つまり、式の最後の部分に整数を残して、可能な限り少ない数の文字に一致します。
^.*?(\d+(?:[.,]\d+)?)\s*$
私のテストケース
"Test1
"Test
"Test123
"Test1.1
test 1.2 times 1 is 1.2
test 1.2 times 1 is ?
test 1.2 times 1 is 134.2234
1.2
数字で終わる文字列の正規表現: @"\d$"
. http://regexpal.com/を使用して正規表現を試してください。
もちろん、これは最後の文字が数字であることを示しているだけです。最後の文字以外はキャプチャしません。番号をキャプチャするには、次のものが必要です: @"\d*\.?\d+$"
.
"Test1.2 Test2" のように文字列がより複雑になり、両方の数値が必要な場合@"\d*\.?\d+\b"
:
[a-zA-Z]+\d+([,.]\d+)?\b$
数字のみが必要な場合は、この正規表現を使用してください(?<=[a-zA-Z]+)\d+([,.]\d+)?\b$