2016-12-14 23 views
1

我有填充有排它看起來像一個文件:代通過圖案在正則表達式

some_var =「值」

,我想改變它(使用正則表達式),於:

「some_var」: 「值」

的正則表達式找到「some_var」組很簡單:(?P<some_var_group>[a-z_]+)\s+=\s\".*\" 但是,如何在some_var_group之前和之後添加"

這個問題不僅是關於這個具體問題,我真的很想知道如何用模式來替換。

謝謝!

+0

那麼,是不是在Python或JS? – georg

+0

恩,其實這對我來說並不重要,因爲我可以同時使用它們。 – Hamus

回答

3

蟒蛇:

import re 

text = 'some_var = "value"' 

regex = r'([a-z_]+)\s*=\s*"(.+?)"' 
print re.sub(regex, r'"\1":"\2"', text) 

JS:

text = 'some_var = "value"' 

regex = /([a-z_]+)\s*=\s*"(.+?)"/ 
console.log(text.replace(regex, '"$1":"$2"')) 
+0

有沒有一個選項可以用組名命名?只是爲了代碼可讀性(而不是\ 1或$ 1,組的名稱) – Hamus

+0

@Hamus:在Python中是,'\ g ',js不支持命名組 – georg