嘿,我想知道是否可以在括号之间收集一定数量的字母或单词,例如我想收集括号之间的单词:
我喜欢食物(因为味道(好
我如何收集那些括号之间的单词、字母或数字?
谢谢。
您可以在python中使用regex
来完成此操作。我冒昧地概括了你的例子!!
import re
re.findall("((.*?))","I like food (because it tastes) good also (hello world)")
输出:
['because it tastes', 'hello world']
解释:
正则表达式表示,无论括号中有什么表达式,都会为我挑选出来
为什么要使用
?因为
(
和)
是正则表达式中的特殊字符。因此,如果您想将它们用作普通的大括号,则需要在大括号之前使用来告知编译器。
我为什么使用
?
?
?
用于两个目的:
a。无论何时你想给出这样的选择,都可能存在或不存在。例如CCD_ 8将与CCD_ 9和CCD_。
b。只要你想选择一个最低限度的东西。例如,如果我没有在这里使用?
,我会得到类似['because it tastes) good also (hello world']
的输出。仔细观察,你会发现位于两个大括号内的最大表达式就是所选的表达式。
您可以执行以下操作:
x = "I like food (because it tastes) good"
print(len(x.split("(")[-1].split(")")[0]))
我相信还有更好的方法,但这是有效的。