2012-11-08 74 views
-3

我想弄清楚正則表達式從字符串中提取數字。目前,我有字符串:正則表達式只有數字

USD0,13 

我喜歡搜索僅0,13會。

將會有其他字符串包含數字,例如USD1,14

任何幫助將是偉大的。 乾杯

+3

你試過了什麼?您使用的是哪種正則表達式引擎?查找字符類。 –

+2

[regular-expressions.info](http://www.regular-expressions.info/tutorial.html) – stema

+1

由於這是正則表達式,它只是一個時間問題,直到有人回答這個問題: –

回答

1

最簡單的一個爲你的情況是這樣的:

'/[0-9,]+/' 

在PHP

$str = 'USD0,13'; 
$matches = array(); 
preg_match('/[0-9,]+/', $str, $matches); 
echo $matches[0]; 
1

/USD([0-9,\.]+)/一個正則表達式應該做你想要什麼。除非你有一千個分離器,否則不一定需要點(考慮到它看起來像你使用的是歐盟標準)。

如果你想要多種貨幣,你可以這樣做:/(EUR|GBP|USD)([0-9\,\.]+)/

因爲你似乎很新的正則表達式,我將解釋:

/是正則表達式的修飾符(這可以是任何東西,但我們會使用斜線這是正則表達式最常見的字符) 。如果你想讓它對敏感程度敏感,你可以做例如/regex/ii就意味着對敏感程度敏感。

USD只是一個字符列表U其次是S其次是D

( and )表示我們希望正則表達式將該匹配輸出給我們。

[0-9,\.]手段人數從09,逗號和點(注意點來轉義,如正則表達式.意味着「任何字符」。)

我們的比賽之後是一個+這意味着「任何與此匹配相匹配的東西,重複一次或多次「。

第二個例子我們將USD(EUR|GBP|USD)進行了切換。這意味着「EUR」或「GBP」或「USD」。

如果您有任何其他問題,請隨時詢問。