2014-01-08 42 views
0

我需要獲取字符'.'和'('之間的任何字符串 - 不帶引號 - 但字符串不應包含除(aA至zZ),數字(0-9)和下劃線之外的其他字符。如何獲得字母+數字+下劃線之間的字符串。和(

我能得到之間的任何東西,(如下:

$result = preg_match('/\.(.*?)\(/', $str, $matches); 

但無法過濾匹配的字符串得到的只是字母表與數字和下劃線

樣品字符串:

$str = "class._filter9({opacity:0.5, color:'red'});"; 

我需要得到_filter9

請你幫忙嗎?謝謝!

回答

3

Regexpal.com可以測試您的正則表達式搜索是否有效。在這裏,你是先生:

$result = preg_match('/\.([a-zA-Z0-9_]+)\(/', $str, $matches); 
+2

你完全可以簡化爲' '/ \(\\ w +)\(/。'' –

+0

現在連見我學習新的東西 – skrilled

+1

@DavidKnipe:是的,但你不需要雙重轉義'\ w' –

相關問題