2015-09-22 75 views
0

連字符之前從文本括號我有這個字符串:我只想在PHP正則表達式

(3330) - PATRIOT SPRAYER (11/08-) 

我只想從3330刪除括號。預期成果:

3330 - PATRIOT SPRAYER (11/08-) 

我曾嘗試使用:

$pattern = ('/[[(.)]]/') 

但我沒有得到我預期的結果。我哪裏做錯了?

+0

參見[這個演示(https://開頭regex101。 COM/R/hH5vW4/1)。 –

+2

爲什麼你只想刪除3330左右的括號?因爲它們是字符串中的第一個,因爲3330是一個數字,因爲... –

+0

當您沒有指定任務的要求時,您出錯了。當要求不明確時,任何答案同時好壞。 –

回答

0

您可以使用^來標記行的開始。這將使你象下面的正則表達式:

^\(([^)]+)\) 

和使用PHP preg_replace

$line = preg_replace('~^\(([^)]+)\)~', '$1', $line); 
+0

請注意,在這種情況下,圓括號'(LETTERS_&chars-other-closing-closing-round bracket)'的括號也將被刪除。 –

+0

@stribizhev我不知道,你的意思是?我的表達式在行首搜索'(任何期望')''並用括號內的所有內容代替 - 這與您的表達式相同,期望在我的版本中,您還可以在其中寫入其他字符 – Philipp

0

如何:

$str = '(3330) - PATRIOT SPRAYER (11/08-)'; 
$str = preg_replace('/\(([^)]+)\)(\s*-)/', "$1$2", $str);