3 回答

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用以下內(nèi)容:
/^\d*\.?\d*$/
^ -生產(chǎn)線的起點(diǎn);
\d* -0或更多數(shù)字;
\.?-一個(gè)可選的點(diǎn)(由于在正則表達(dá)式中轉(zhuǎn)義,.是一個(gè)特殊字符);
\d* -0或更多數(shù)字(小數(shù)部分);
$ - 隊(duì)伍的盡頭。
這允許0.5小數(shù)而不是要求前導(dǎo)零,例如0.5

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
/\d+\.?\d*/
一個(gè)或多個(gè)數(shù)字(\d+),可選的句點(diǎn)(\.?),零個(gè)或多個(gè)數(shù)字(\d*)。
根據(jù)您的用法或正則表達(dá)式引擎,您可能需要添加開始/結(jié)束行錨點(diǎn):
/^\d+\.?\d*$/

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊
您需要如下所示的正則表達(dá)式才能正確執(zhí)行此操作:
/^[+-]?((\d+(\.\d*)?)|(\.\d+))$/
使用擴(kuò)展修飾符(Perl支持)的帶空格的相同表達(dá)式:
/^ [+-]? ( (\d+ (\.\d*)?) | (\.\d+) ) $/x
或帶有注釋:
/^ # Beginning of string
[+-]? # Optional plus or minus character
( # Followed by either:
( # Start of first option
\d+ # One or more digits
(\.\d*)? # Optionally followed by: one decimal point and zero or more digits
) # End of first option
| # or
(\.\d+) # One decimal point followed by one or more digits
) # End of grouping of the OR options
$ # End of string (i.e. no extra characters remaining)
/x # Extended modifier (allows whitespace & comments in regular expression)
例如,它將匹配:
123
23.45
34。
.45
-123
-273.15
-42。
-.45
+516
+9.8
+2。
+.5
并將拒絕這些非數(shù)字:
。(單小數(shù)點(diǎn))
- (負(fù)小數(shù)點(diǎn))
+。(加上小數(shù)點(diǎn))
(空字符串)
比較簡(jiǎn)單的解決方案可能會(huì)錯(cuò)誤地拒絕有效數(shù)字或匹配這些非數(shù)字。
- 3 回答
- 0 關(guān)注
- 521 瀏覽
添加回答
舉報(bào)