我想构建一个正则表达式,它将从字符串中提取数字。模式是
">number<"
现在这个数字可以有小数。 我跟着去了:
"[^\d]+"
这确实提取了数字,但由于小数,它有时会很糟糕。有什么想法吗?
答案 0 :(得分:0)
试试这个(用引号复制):
">[0-9]+(\.[0-9]+)?<"
答案 1 :(得分:0)
一个简单的正则表达式,适用于整数,浮点数和负数:
>([\+\-]?\d+\.?\d*)<
该号码在第1组。
如果你可以使用正面外观,这个正则表达式只匹配><
之间的数字而不是其他内容:
(?<=>)[\+\-]?\d+\.?\d*(?=<)
Here正在行动中。
答案 2 :(得分:0)
>((\-|\+)?[0-9]+(\.[0-9]+)?)<
说明:
(\-|\+)?
可选符号:-
或+
[0-9]+
- 非空数字序列(\.[0-9]+)?
- 以点开头,后跟非空数字序列>
和<
位于开头和位置(不在匹配组中)在第一个匹配组中,您将获得您的号码。
答案 3 :(得分:0)
假设它只是你想要的数字:
(适用?&LT = \&GT;)[0-9] +([0-9] +。)?(= \&LT;?)强>
匹配&gt;之间带或不带小数的任何数字。和&lt;但不包括&gt;和&lt;。