在C++中,我需要創建一個與十進制值相匹配的模式,它至少包含一位在小數點之前或之後的數字。但是,小數點也是可選的。用點簡化正則表達式的小數點
應符合例子:
10
1
.123
123.
12.123
在現階段,我有這樣的事情,但需要更簡單的東西。
(\d+\.?)|(\.?\d+)|(\d+\.?\d+)
在C++中,我需要創建一個與十進制值相匹配的模式,它至少包含一位在小數點之前或之後的數字。但是,小數點也是可選的。用點簡化正則表達式的小數點
應符合例子:
10
1
.123
123.
12.123
在現階段,我有這樣的事情,但需要更簡單的東西。
(\d+\.?)|(\.?\d+)|(\d+\.?\d+)
對於您的要求,您可以使用這個表達式:
^(?:\d+\.?\d*|\.\d+)$
\d+\.?\d*
將匹配沒有小數點或類似123.
或帶有小數點的數字的位數。\.\d+
將匹配以小數點開始的數字。這是工作。謝謝。 –
很高興知道它解決了,[您可以點擊答案左上角的勾號**標記答案](http://meta.stackexchange.com/a/5235/160242) – anubhava
這是我儘可能簡化它與您提供的信息。
(\d+\.?\d*)|(\d*\.?\d+)
\d*\.?\d*
我不知道,如果這個工程在C++中,但它確實在Javascript/Python的工作,你的例子。
注意:這將包括.
請記住'.'字符是正則表達式中的特殊字符。你需要逃避它。 –
您是否使用本網站或谷歌搜索功能? – Fallenhero
我以前使用「\」。但堆棧溢出編輯器將其刪除。編輯 –