2

文字列が数字で終わるかどうかを調べたい (小数点あり/なし)。終わったら抜きたい。

"Test1" => 1
"Test"  => NOT FOUND
"Test123" => 123
"Test1.1" => 1.1

私はいくつかの詳細を見逃しました。
1. 数字の前に、文字列には特殊文字も含めることができます
。 2. 複数行ではなく単一行です。

4

5 に答える 5

10

このパターンを試して、

\d+(\.\d+)?$

非キャプチャ グループのバージョン:

\d+(?:\.\d+)?$
于 2013-01-12T14:20:41.067 に答える
3

C# で次の正規表現を使用します。(\d+)$

于 2013-01-12T18:27:03.763 に答える
3

行頭、その後の任意の文字、および文字列の末尾の数字 (オプションの小数部分を含む) に一致します (末尾の空白文字を使用できます)。最初の部分は遅延一致です。つまり、式の最後の部分に整数を残して、可能な限り少ない数の文字に一致します。

^.*?(\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
于 2013-01-12T14:32:00.573 に答える
2

数字で終わる文字列の正規表現: @"\d$". http://regexpal.com/を使用して正規表現を試してください。

もちろん、これは最後の文字が数字であることを示しているだけです。最後の文字以外はキャプチャしません。番号をキャプチャするには、次のものが必要です: @"\d*\.?\d+$".

"Test1.2 Test2" のように文字列がより複雑になり、両方の数値が必要な場合@"\d*\.?\d+\b":

于 2013-01-12T14:18:52.673 に答える
1

[a-zA-Z]+\d+([,.]\d+)?\b$ 数字のみが必要な場合は、この正規表現を使用してください(?<=[a-zA-Z]+)\d+([,.]\d+)?\b$

于 2013-01-12T14:18:40.140 に答える