正则表达式中特殊字符之间的数字

时间:2016-12-03 20:58:31

标签: regex

我想构建一个正则表达式,它将从字符串中提取数字。模式是

">number<"

现在这个数字可以有小数。 我跟着去了:

"[^\d]+"

这确实提取了数字,但由于小数,它有时会很糟糕。有什么想法吗?

4 个答案:

答案 0 :(得分:0)

试试这个(用引号复制):

">[0-9]+(\.[0-9]+)?<"

答案 1 :(得分:0)

一个简单的正则表达式,适用于整数,浮点数和负数:

>([\+\-]?\d+\.?\d*)<

该号码在第1组。

如果你可以使用正面外观,这个正则表达式只匹配><之间的数字而不是其他内容:

(?<=>)[\+\-]?\d+\.?\d*(?=<)

Here正在行动中。

答案 2 :(得分:0)

>((\-|\+)?[0-9]+(\.[0-9]+)?)<

说明:

  • (\-|\+)?可选符号:-+
  • [0-9]+ - 非空数字序列
  • (\.[0-9]+)? - 以点开头,后跟非空数字序列
  • 的可选序列
  • ><位于开头和位置(不在匹配组中)

在第一个匹配组中,您将获得您的号码。

Example here

答案 3 :(得分:0)

假设它只是你想要的数字:

(适用?&LT = \&GT;)[0-9] +([0-9] +。)?(= \&LT;?)

匹配&gt;之间带或不带小数的任何数字。和&lt;但不包括&gt;和&lt;。