小编Jos*_*hna的帖子

python正则表达式错误:不平衡的括号

我对python很新,所以我有一个包含一些键的字典和一个字符串.如果在字典中存在字典中存在的模式,我必须替换字符串.字典和字符串都非常大.我正在使用正则表达式来查找模式.

一切正常,直到像这样的键弹出' - ('或''( - )')在这种情况下python给出不平衡括号的错误.

以下是我编写的代码的外观:

somedict={'-(':'value1','(-)':'value2'}
somedata='this is some data containing -( and (-)'
for key in somedict.iterkeys():
    somedata=re.sub(key, 'newvalue', somedata)
Run Code Online (Sandbox Code Playgroud)

这是我在控制台中遇到的错误

Traceback (most recent call last):
  File "<console>", line 2, in <module>
  File "C:\Python27\lib\re.py", line 151, in sub
    return _compile(pattern, flags).sub(repl, string, count)
  File "C:\Python27\lib\re.py", line 244, in _compile
    raise error, v # invalid expression
error: unbalanced parenthesis
Run Code Online (Sandbox Code Playgroud)

我也尝试了很多方法使用正则表达式编译器并搜索了很多但没有找到任何解决问题的方法.任何帮助表示赞赏.

python regex

5
推荐指数
1
解决办法
1万
查看次数

Python:为什么这段代码会执行?

我是python的初学者,使用v2.7.2这是我试图在命令提示符下执行的

 p = 2
 while(p>0):
     for i in range(10):
          print i+1 , p
          p-=1
Run Code Online (Sandbox Code Playgroud)

预期产量

1 2
2 1
Run Code Online (Sandbox Code Playgroud)

实际输出是

1 2
2 1
3 0
4 -1
5 -2
6 -3
7 -4
8 -5
9 -6
10 -7
Run Code Online (Sandbox Code Playgroud)

为什么会这样?以及我如何实现预期的行为?

python scope for-loop while-loop

5
推荐指数
2
解决办法
101
查看次数

标签 统计

python ×2

for-loop ×1

regex ×1

scope ×1

while-loop ×1