Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用于删除括号中数据的正则表达式_Python_Regex_Python 2.7 - Fatal编程技术网

Python 用于删除括号中数据的正则表达式

Python 用于删除括号中数据的正则表达式,python,regex,python-2.7,Python,Regex,Python 2.7,我试图删除下面这些字符串的括号区域,但无法使正则表达式正常工作:( 数据: 正则表达式: Regex101: 示例代码 删除方括号;您没有匹配字符类: item = re.sub(r" \(\w+\)", "", item) 演示: 最后一个示例的左括号(()前面没有空格,因此不匹配。如果需要该模式也可以使用,可以将空格设置为可选: item = re.sub(r" ?\(\w+\)", "", item) 也许匹配任何非右括号的内容也适用于您: item = re.sub(r" ?\([

我试图删除下面这些字符串的括号区域,但无法使正则表达式正常工作:(

数据: 正则表达式: Regex101:

示例代码
删除方括号;您没有匹配字符类:

item = re.sub(r" \(\w+\)", "", item)
演示:

最后一个示例的左括号(
)前面没有空格,因此不匹配。如果需要该模式也可以使用,可以将空格设置为可选:

item = re.sub(r" ?\(\w+\)", "", item)
也许匹配任何非右括号的内容也适用于您:

item = re.sub(r" ?\([^)]+\)", "", item)
这比仅
\w
匹配的字符范围更广


在正则表达式中,方括号,
[…]
表示字符类;一组要匹配一次的字符。类
[\(w+\)]
的意思是:匹配一个字符,如果它匹配一组字符,包括空格、左括号、
\w
类的所有字符、
+
加号或右括号。

方括号内的任何字符都会被提取,而与字符的顺序无关,因为
[…]
是一个字符类。请完全删除它们:

r" \(\w+\)"
我会为可选空间添加一个

r" ?\(\w+\)"

item = re.sub(r" ?\(\w+\)", "", item)
item = re.sub(r" ?\([^)]+\)", "", item)
r" \(\w+\)"
r" ?\(\w+\)"