2014-06-20 12 views
0

我想要替換字符串:nf.format(xxx ddhgshg jjhjhsss)nf.format(0),我的意思是,我需要這個操作的正則表達式規定。如何創建這個字符串替換的正則表達式;

樣品輸入字符串;

1. nf.format(xxx jjhjhsss) 
2. nf.format(xxx ddhgshg kkkdkd) 
3. nf.format(xxx ddhgshg jjhjhsss()) 

回答

1

您可以匹配您的模式:

nf\.format\(.*\) 

nf.format(0) 

更換見它http://regex101.com/r/eR0pY8

注意,這個表達式不檢查括號平衡,\)只是匹配最後的)在線上。如果您需要圓括號平衡,您需要指定您當前的工作平臺,供我們回答。

+0

感謝它的工作原理,順便我該怎麼處理這一個; 「XXX」 + nf.format(HHHHHHHH JJJ KKKK)+ 「XXXX」 + nf.format(HHHHHHHH JJJ KKKK)+ 「YYY」 我只需要找到加之間,然後替換它。 – user3702350

+0

使用'[^ ​​+] *'而不是'。*' - >使它變成'nf \ .format \([^ +] * \)'但注意現在你不能在圓括號內加一個'+' 。 – Teejay

+0

此外,爲不允許的字符集添加'\ r \ n',因此它不匹配回車符和換行符 - >因此它變成了'nf \ .format \([^ + \ r \ n] * \)' – Teejay

0

嘗試下面的正則表達式,

(nf\.format)\((.*)\) 

DEMO

+1

你不需要''*'周圍的括號,是嗎?也不圍繞'nf \ .format' – Teejay

+0

@Teejay yep。這是捕獲組。 –