簡體   English   中英

使用preg_replace替換所有出現的事件

[英]Replace all occurrences using preg_replace

下面的代碼運行完美:

$string = '(test1)';
$new = preg_replace('/^\(+.+\)+$/','word',$string);
echo $new;

輸出:

word

如果代碼是這樣的:

$string = '(test1) (test2) (test3)';

如何生成輸出: word word word

為什么我的正則表達式不起作用?

  • ^ and $是錨點,這意味着匹配應從字符串的開頭開始並擴展到字符串的結尾

  • . 表示匹配換行符以外的任何內容, +表示一個或多個,默認情況下,正則表達式本質上是貪婪的,因此它會嘗試盡可能匹配我們想要匹配的位置( )因此我們需要稍微改變一下模式

您可以使用

\([^)]+\)

在此處輸入圖片說明


$string = '(test1) (test2) (test3)';
$new = preg_replace('/\([^)]+\)/','word',$string);
echo $new;

Regex Demo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM