我想获取数字,但排除以美元符号 ($) 开头或后跟分号 (¢) 的数字。
我想在数字之间包含逗号 (,) 或点 (.)。
1,500,000 → 1,500,000
1,200 美元 → X
95¢→X
aa105,000.76qwer → 105,000.76
abc105000.76asdf → 105000.76
$abc123abc → 123
abc123a6bc¢ → 123, 6
------------------------------------------------- ---------------------------------------
字符串输入文本 = @"||-6|-|7|| {1}{2} 5@{5}{8} (n10, m-10) (n, m) $123.20 98¢ 123.15 158,870,000.500 abc123.0 \_{213asfd123} ^{asfd213dasf132} \[asdf213a213s\]";
字符串 myPattern = @"(?!$)(?:[.]?[\d]+(?:[,.]*\d)*)(?!¢)";
static void Main()
{
string sample = "$123.5";
if (Regex.Match(sample, @"[\d.]+").Success)
{
double val = double.Parse(Regex.Match(sample, @"[\d.]+").Value);
Console.WriteLine(val);
}
}
试试这个吧