我怎么能删除“(”,“)”?

时间:2013-09-15 14:40:02

标签: python regex

我该如何删除“(”? 这是对的吗 ? :

import re, sys
my_source = {}
list_of_words  = {}
text_we_need   = {}
dict_of_words  = {}
max_characters = 0
with open("my_source2.txt") as f:
    my_source = f.read()
p = re.compile(r'<a(.*?)</a>')
my_source = p.sub('<a></a>', my_source, re.DOTALL)
my_source = re.sub('<a>','',my_source)
my_source = re.sub('(','',my_source)
my_source = re.sub(')','',my_source)

为什么这段代码不能用于'('??

3 个答案:

答案 0 :(得分:5)

()是正则表达式中的特殊字符,因为它们用于分组。您需要使用(转义)\

my_source = re.sub('\(','',my_source)
my_source = re.sub('\)','',my_source)

答案 1 :(得分:0)

我环顾四周,发现了几个类似的问题。

  1. Python Strip multiple characters
  2. Regex How to remove symbols from a string Python
  3. How to remove parenthesis using regex on Python
  4. 似乎“双引号”应该起作用而不是“单引号”。

答案 2 :(得分:0)

也可以在你的其他帖子上发布:

不要将正则表达式用于这么简单的事情。使用翻译:

Python string doc

>>> str = "This is a (string) (example)..."
>>> str.translate(None, "()")
'This is a string example...'
>>>