www.un.org/spanish/ecosoc 这是一个老的职位,但这是对“浮动点的经常表述”或像这种方式那样做的最主要搜索结果,没有回答问题。 页: 1 我在做这项工作时将分享我的结果,这样,下一位在座的人就不必为自己做工作。
All of the answers thus far accept a leading 0
on numbers with two (or more) digits on the left of the decimal point (e.g. 0123
instead of just 123
) This isn t really valid and in some contexts is used to indicate the number is in octal (base-8) rather than the regular decimal (base-10) format.
这些表述也接受一种精度的缩略语(.14
,而不是0.14
,或无微小部分(3.
,而不是3.0
)。 在一些方案方面(包括 Java),这一点是有效的,但我想解一下(因为出于我的目的,这些错误可能比故意错误)。
“科学标志”如<条码>1.234E7条码>。
/^(-)?
或者如果你真想接受一个主要<代码>+,那么:
/^((+-)? (0)([1-9][0-9]*)([0-9]+)$/
我认为,定期表达将严格检验典型的惯性激化或mal式浮动点。
相应:
$1
contains the full number that matched
$2
contains the (possibly empty) leading sign (+/-)
$3
contains the value to the left of the decimal point
$5
contains the value to the right of the decimal point, including the leading .
我通过“限制”表示,数字必须是你正在检测的唯一东西。
如果你想从包含其他内容的插图中仅提取浮动值:
/((<><>>>0>[1-9][0-9]*)([0-9]+)/
将在<代码>中找到<代码>-3.14> ,“否定式复制件大约为-3.14>>>> /code>或(-3.14)“
等。
编号组别的意思与上文相同(但<代码>2现为无主要标志的空档(>>
)。
但是,人们知道,它也将努力提取它能够找到的任何数字。 例如,它将从<代码>127.0.0.1中提取<>127.0。
如果你想要比那时更精练,我认为你可能希望研究的是灵活的分析,而不是经常表达。 I m guessing one can make a look-ahead-based expression that will recognized that Pi is 3.14
contained aroting Point number but 家庭是127.0.0.1。
不是,但最复杂。 如果您的格局取决于其之后的特性,以非维系的方式,你就开始在固定的言辞中冒险。