2011-09-19 53 views
0

從文件中的行,我需要從一個文件中找到一條線,取代它:正則表達式來選擇基於值

假設該文件中的內容:「547714,0,1,1,0, 1,1,0,0,0,0,0,0,0,0,0'

基於547714我需要選擇和替換

我使用這個正則表達式的完整產品線:'/^.*547714.*$/';

但它沒有選擇任何東西。

+0

你的正則表達式中有一個不同的數字 - 這是打算?這就是爲什麼它不匹配。 –

+0

我更新了正則表達式,但仍未提供 – rahul

回答

1

正則表達式看起來不錯。但是,您需要告訴正則表達式引擎允許^$定位點匹配每行的開始和結束(而不是整個輸入字符串)。這就是/m修飾符的用途。此外,字邊界(\b)是避免子串匹配的好主意。

所以我建議

regex = '/^.*\b345345\b.*$/m'; 

這將匹配包含345345的整條生產線(但不會匹配諸如1,53453456,4,5,0線)。

+0

Pietzker:謝謝你的工作就像魅力。 – rahul

0

^.*547714.*$

似乎爲我工作,也許是發動機還考慮到/

+0

不是,那些是PHP正則表達式分隔符。 –

+0

@Tim - 我的錯誤是,我已經觸摸了PHP –