如果我做了re.search("(\d+)x"
,下面的代码就可以正常工作了。在
{cdi>但是,如果要添加一个
TypeError: cannot concatenate 'str' and 'NoneType' objects
代码:
^{pr2}$这个错误当然是因为我试图将str "+"
和{
我的问题是,为什么选择group(1)
在re.search()
中只有一个查找时有效,但是如果有两个可选的查找,则不起作用。在
它搜索的字符串不同时包含"(\d+)x"
和{
示例str:
"Boost LevDAX 3x Daily ETP"
"ComStage LevDAX x2 UCITS ETF"
如果你只传递第一个字符串,你的程序就可以正常工作了。但是当你传递第二个字符串时,第二组就匹配了。组(1)为“无”,而组(2)为2。在
我将重写代码以分离这两个子表达式,并使用
if
语句来确定哪一个匹配。在使用regex检查字符串是否为所需格式,如果是,则使用
\d+
提取所需的数字,因为字符串只能包含一个数字,如下所示:请注意,这样做的好处是,如果
leverage
不是字符串中x3x
所需的格式,则会引发错误我会这样做:
相关问题 更多 >
编程相关推荐