我想知道字符串是否以数字结尾(带/不带小数)。如果它结束,我想提取它。
"Test1" => 1
"Test" => NOT FOUND
"Test123" => 123
"Test1.1" => 1.1
我错过了一些细节 1.在数字之前,字符串也可以包含特殊字符 它是单线,而不是多线。
答案 0 :(得分:7)
试试这个模式,
\d+(\.\d+)?$
答案 1 :(得分: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
答案 2 :(得分:3)
在c#(\d+)$
答案 3 :(得分:2)
以字符结尾的字符串的正则表达式:@"\d$"
。使用http://regexpal.com/试用正则表达式。
当然,这只是告诉你最后一个字符是一个数字。它不会捕获除最后一个字符之外的任何内容。要捕获数字,只需要这样:@"\d*\.?\d+$"
。
如果你的字符串可能更复杂,例如“Test1.2 Test2”,你想要两个数字:@"\d*\.?\d+\b"
。
答案 4 :(得分:1)
使用此正则表达式[a-zA-Z]+\d+([,.]\d+)?\b$
如果你想要数字只使用这个(?<=[a-zA-Z]+)\d+([,.]\d+)?\b$