如何在使用正則表達式之間刪除大括號和內容?我認爲以下方面會奏效。刪除大括號和內容
$filename = '{test}1234';
preg_replace('/\{{^\}}*\}/', '', $filename);
在上面的例子中,我想以下至後留下的:
我應該提到,大括號之間的內容可以是任何長度,所以這需要是正則表達式。
如何在使用正則表達式之間刪除大括號和內容?我認爲以下方面會奏效。刪除大括號和內容
$filename = '{test}1234';
preg_replace('/\{{^\}}*\}/', '', $filename);
在上面的例子中,我想以下至後留下的:
我應該提到,大括號之間的內容可以是任何長度,所以這需要是正則表達式。
你可以像下面: -
<?php
$filename = '{test}1234';
echo preg_replace('/{(.*?)}/', '', $filename);
?>
輸出: - 在正則表達式https://eval.in/522259
試試這個
$str = '{test}1234';
echo $str = trim(preg_replace('/\s*\{[^}]*\}/', '', $str));
呃,不應該[[^]]'是'[^}]'? '\ s *'是什麼,OP沒有要求? – Biffen
字符類由[]
表示而不是{}
。後者用於指示重複次數,如[1-3]{7,8}
中從1到3的7到9位數字的字符串。
您想要一個字符類(所有字符,除了大括號大括號)。所以
{^\}}*
應該成爲
[^}]*
只是爲了解釋背後的搜索的答案的原因...
新建正則表達式。以爲我會有一個去,而不是隻依靠你和其他人...... – ccdavies
'echo preg_replace('/{(.*?)}/','',$ filename);' –
@ccdavies供將來參考,那裏是在線工具來幫助正則表達式寫作,例如https://regex101.com/ –