我是新來正則表達式在PHP中。正則表達式替換整數後跟下劃線中的字符串php
我試圖取代值類似
在我的琴絃101_1
102_2
103_3
字 「自定義值」
我已經嘗試了多種組合,但找不到解決方案。這是我認爲應該按照正則表達式的文檔工作代碼有助於提供網絡
$result = str_replace('[1-6]*_1', "custom values", $string);
上記住這些值來在字符串之間,也沒有在開始既不字符串的結尾。
我是新來正則表達式在PHP中。正則表達式替換整數後跟下劃線中的字符串php
我試圖取代值類似
在我的琴絃101_1
102_2
103_3
字 「自定義值」
我已經嘗試了多種組合,但找不到解決方案。這是我認爲應該按照正則表達式的文檔工作代碼有助於提供網絡
$result = str_replace('[1-6]*_1', "custom values", $string);
上記住這些值來在字符串之間,也沒有在開始既不字符串的結尾。
你的表達不起作用,因爲它沒有捕獲[1-6]中的0。
假設你總是有一個或多個數字之間的下劃線,使用:
$result = preg_replace('/\d+_\d+/', "custom values", $string);
嘗試一些像這樣的:
$result = preg_replace('/\d{3}_\d/', "custom values", $string);
它抓住了前三個數字其次是下劃線,然後另一個數字。
使用preg_replace代替str_replace函數
preg_replace('/[0-6]{1,3}_[1-3]/', 'custom values', $string);
是'xxx_x'數總是相同的長度/格式? –
'[1-6]'表示'1'和'6'之間的數字。現在猜猜應該用什麼來代替末尾的'1' – HamZa
哦,我知道了......你使用了錯誤的功能。你應該使用'preg_replace()' – HamZa