Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 3.3 - Fatal编程技术网

Python 如何在使用正则表达式标记化包含括号的同时查找括号之间的文本

Python 如何在使用正则表达式标记化包含括号的同时查找括号之间的文本,python,regex,python-3.3,Python,Regex,Python 3.3,如何使用正则表达式提取括号内的文本? 例如,如果我有 string='这是一个测试代码[asdf-wer-a2 asdf](ascd asdfas-WARE) 我希望输出是 [asdf-wer-a2-asdf],(ascd asdfas-WARE) 我到处寻找这个问题,但一直没能解决这个问题。 如果有人能帮我,那就太好了 多谢各位 这可能不是最好的解决方案,但非常简洁。您可以指定在分隔符之间查找文本。我正在为卷发者提供开始[和结束],最后是(和) s = 'This is a test cod

如何使用正则表达式提取括号内的文本? 例如,如果我有

string='这是一个测试代码[asdf-wer-a2 asdf](ascd asdfas-WARE)

我希望输出是

[asdf-wer-a2-asdf],(ascd asdfas-WARE)

我到处寻找这个问题,但一直没能解决这个问题。 如果有人能帮我,那就太好了

多谢各位

这可能不是最好的解决方案,但非常简洁。您可以指定在分隔符之间查找文本。我正在为卷发者提供开始
[
和结束
]
,最后是

s = 'This is a test code [asdf -wer -a2 asdf] (ascd asdfas -were)'
print (s[s.find("[")+1:s.find("]")])
print (s[s.find("(")+1:s.find(")")])
编辑:如果需要[]和(),只需执行以下操作:

print (s[s.find("["):s.find("]")+1])
print (s[s.find("("):s.find(")")+1])
返回:

[asdf-wer-a2 asdf] (ascd asdfas-WARE)

这可能不是最好的解决方案,但非常简洁。您可以指定在分隔符之间查找文本。我正在为卷发者提供开始
[
和结束
]
,最后是

s = 'This is a test code [asdf -wer -a2 asdf] (ascd asdfas -were)'
print (s[s.find("[")+1:s.find("]")])
print (s[s.find("(")+1:s.find(")")])
编辑:如果需要[]和(),只需执行以下操作:

print (s[s.find("["):s.find("]")+1])
print (s[s.find("("):s.find(")")+1])
返回:

[asdf-wer-a2 asdf]
(ascd asdfas-were)

您可以使用下面的正则表达式模式。这就是一个例子


\[^\]*\]\\([^]*\)

您可以使用下面的正则表达式模式。这就是一个例子


\[^\]*\]\\([^]*\)

您尝试过正则表达式分组(也称为子匹配)吗?重要的一点是,如果你想匹配一个字面上的括号,你必须转义你的括号。你介意解释一下转义是什么意思吗?我能够得到支架的内部部分,但无法得到支架。我是python新手,所以任何解释都将不胜感激。我编辑了我的帖子,如果您能查看我的帖子,我将不胜感激。您是否尝试过正则表达式分组(也称为子匹配)?重要的一点是,如果你想匹配一个字面上的括号,你必须转义你的括号。你介意解释一下转义是什么意思吗?我能够得到支架的内部部分,但无法得到支架。我是python新手,所以任何解释都将不胜感激。我编辑了我的帖子,如果你检查一下,我将不胜感激。这也会打印括号内的文本,但不会打印括号。我能够得到里面的文本,但无法得到结果中的括号。是否无法将括号作为输出的一部分?这也会打印括号内的文本,但不会打印括号。我能够得到里面的文本,但无法得到结果中的括号。没有办法把括号作为输出的一部分吗?我认为这行有一个问题。我看到的问题是,是否有字符串='这是一个测试代码[asdf-wer-a2 asdf](ascd asdfas-were)test test(testing test)'。您不仅可以看到括号内的文本,还可以看到括号之间的文本。这里我们将得到“[asdf-wer-a2 asdf]”,“(ascd asdfas-were)test test(testing test)”您是对的,我没有想到这一点,但现在我编辑了示例和模式,请尝试一下,谢谢您的帮助。它适用于()但不适用于[]。例如,如果它后面有[]和[],则它会选择这些括号之间的所有内容。我会努力的。正如您已经修复的()。再次感谢你,试试这条,我的宝贝,我想那条线有一个问题。我看到的问题是,是否有字符串='这是一个测试代码[asdf-wer-a2 asdf](ascd asdfas-were)test test(testing test)'。您不仅可以看到括号内的文本,还可以看到括号之间的文本。这里我们将得到“[asdf-wer-a2 asdf]”,“(ascd asdfas-were)test test(testing test)”您是对的,我没有想到这一点,但现在我编辑了示例和模式,请尝试一下,谢谢您的帮助。它适用于()但不适用于[]。例如,如果它后面有[]和[],则它会选择这些括号之间的所有内容。我会努力的。正如您已经修复的()。再次感谢您[[^]]*]|([^]*)试试这个,我的错