我有一个文本文件像-
{[a] abc (b(c)d)}
我想删除这些括号[] and (())
之间的内容。所以输出应该是-
abc
我删除了括号之间的内容,但无法删除此[]
之间的内容
我试过以下代码-
import re
with open('data.txt') as f:
input = f.read()
line = input.replace("{","")
line = line.replace("}","")
output = re.sub(r'\(.*\)', "", line)
print output
输出为-
[a] abc
在我的代码中,首先替换{}
,然后从()
中删除内容。我想在output = re.sub(r'\(.*\)', "", line)
行中添加\[.*\]
。但却找不到办法。我还在学Python。所以我面临这个问题。请帮忙。你知道吗
我试过了,我得到了你想要的结果…我希望我做对了
您可以检查字符串是否包含
[
、]
、(<no_parentheses_here>)
或[no_brackets_here]
子字符串,并在存在匹配项时将其删除。你知道吗参见Python demo
它还将与成对嵌套的
(...)
和[...]
一起工作。你知道吗图案细节
\([^()]*\)
-(
,然后是除(
和)
之外的任何0+字符,然后是)
|
-或\[[^][]*]
-[
,然后是除[
和]
之外的任何0+字符,然后是]
|
-或[{}]
-匹配{
或}
的字符类。你知道吗Imo并不像最初看起来那么简单,您很可能需要一些平衡(递归)的方法,这可以通过newer ^{} module 实现:
这将产生
模式是
相关问题 更多 >
编程相关推荐