例如,假設我有以下字符串如何使用正則表達式替換圓括號之間的內容?
「我們去(大)動物園」
我想匹配,更換括號之間的文本,也搭上了多餘的空格之一與
落得「我們去動物園」
什麼語法來做到這一點?我似乎無法完全理解
例如,假設我有以下字符串如何使用正則表達式替換圓括號之間的內容?
「我們去(大)動物園」
我想匹配,更換括號之間的文本,也搭上了多餘的空格之一與
落得「我們去動物園」
什麼語法來做到這一點?我似乎無法完全理解
您需要全局搜索\s*\([^)]\)\s*
用一個空格替換每個出現的位置。具體的編碼方式取決於你使用的是什麼語言。
在Perl它看起來像
my $s = "we went to the (big) zoo";
$s =~ s/\s*\(.*?\)\s*/ /g;
print $s;
輸出
we went to the zoo
您可以檢測括號(/\(.*?*\)/
)並將其刪除。
哪些是您寫的語言?
'[^)]'會比'。*?更有效率' – 2012-03-11 21:44:07
一般來說,正則表達式將是這個樣子:
/\((.*?)\)/
但作爲評論暗示,語言和應用程序可能會影響到這一點。
在VIM
你可以輸入命令:
%s/([[:alpha:]]*)\ //g
這將做到這一切全局(g
代表全局替換,就可以把1
爲intance,它會每行做一次)。 如果您使用的是sed
,那麼它是相似的。在這裏我想只有字符的字符串使用[[:alpha:]]
cat input.txt | sed s/([[:alpha:]]*)\ //g
注:沿着線的東西。如果您使用.*
,那麼它將適用於任何字符(包括數字,空格,不可打印的字符等)...
那你試試? – 2012-03-11 21:36:14
您使用哪種語言? – 2012-03-11 21:36:16