2017-04-03 99 views
-1

我有串"image(100)",我想過濾的字符串,除去image和括號,然後只返回數量100如何將某些字符與正則表達式匹配?

我試過/[^image]/image刪除,但我不知道如何刪除parenthesis

+0

字符類是允許/不允許的字符的列表。這不是一系列的角色。 '[^ image]'允許使用非'i','m','a','g'或'e'。你可以做'[^ \ d] +',或者在下面使用PHPglue的答案。 – chris85

+2

的可能的複製[刪除非數字字符(exlcuding句號和逗號)從字符串](http://stackoverflow.com/questions/4949279/remove-non-numeric-characters-exlcuding-periods-and-commas-from -a弦) – Mocking

回答

1

你需要用反斜槓逃脫括號,因爲他們是在正則表達式的特殊字符。在這裏,我用它們來capture數量和save it to the $matches array

<?php 
$str = "image(100)"; 
if (preg_match("/image\((\d+)\)/", $str, $matches)) { 
    echo $matches[1]; 
} 
4

只需更換非數字字符,什麼也沒有,是這樣的:

+0

我只是量化'\ d',所以你而兩次七倍('\ d +')。 – chris85

+0

比我的簡單肯定的,只要沒有周圍的文字。 – miken32