我使用 (?:\[+\.)?\d+
的正则表达式从网站元素的内部文本中提取数字,内部文本是 $94.99/mo
。
这行得通,我可以创建一个等于 105.66
的变量。当我将此正则表达式应用于其中包含不同数字值的 innertext 时,将选择所有数字值。
例如
Total Monthly Payment: $94.99 + $9.49 (for ASP) = $104.48/month (plus tax) • Total Cost of Ownership: $104.48 x 12 Months = $1,253.76 (plus tax) • Cost of Lease Services: $350.77
它找到所有的值;
如何修改正则表达式,使其仅找到 9.49
价格?
最佳答案
我会尝试提取这个:+ $9.49
您可以使用以下正则表达式:
@"(?<=\+\s\$)(\d+\.?\d*)
-
(?<=\+\s\$)
匹配但不包含+
后跟一个空格,然后是一个$
-
(\d+\.?\d*)
匹配并放入至少一个数字的组中,后跟可选的.
后跟任意数量的数字。
+ . $
符号是特殊的正则表达式字符,必须用反斜杠转义。
关于c# - 使用正则表达式从网页元素的内部文本中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35455918/