0

私はPythonで次のような文字列をいくつか持っています:

1) 'a_1_2+c_2_4 + 5'
2) 'ctl_1_3/80'
3) 'd_10_55'
...

それらをreに置き換えたい。それらは次のようになります。

1) 'p.get("a_1_2", 0)+p.get("c_2_4", 0) + 5'
2) 'p.get("ctl_1_3", 0)/80'
3) 'p.get("d_10_55", 0)'

正規表現を手伝ってくれませんか。

PSpはPythonの単純な辞書です

4

2 に答える 2

3
In [7]: s = 'a_1_2+c_2_4 + 5'

In [8]: re.sub(r'(\w+_\d+_\d+)', r'p.get("\1", 0)', s)
Out[8]: 'p.get("a_1_2", 0)+p.get("c_2_4", 0) + 5'

の2番目の引数を管理するルールは不明p.get()です。これは最初の例にありますが、他の2つにはありません。

于 2012-05-03T07:31:01.707 に答える
1

Pythonを使用してJavaScriptコードを作成しようとしていますか?文字列に二重引用符またはその他のJavaScript特殊文字が含まれている場合はどうなりますか?

正規表現の置換は確かに可能ですが、データをJSONオブジェクトとしてクライアントに渡し(Pythonのjsonライブラリを使用)、そのデータをクライアント側で処理することをお勧めします。これにより、よりクリーンでサポートしやすいコードが得られます。

于 2012-05-03T07:32:04.373 に答える