我想简化这个正则表达式(myExpr):
\s+#[A-z][A-Za-z0-9-_]+|^\s*#[A-z][A-Za-z0-9-_]+
所以我写了这个:
[\s+|^\s*](#[A-z][A-Za-z0-9-_]+)
在
中使用它re.findall(myExpr,string)
第一个正则表达式工作但不是最后一个。我在第二个中犯了什么错误?
答案 0 :(得分:2)
您需要括号(…)
而不是括号[…]
,因为后者表示字符类:
(\s+|^\s*)(#[A-Za-z][A-Za-z0-9-_]+)
您也可以使用此a+
相当于aa*
:
(^|\s)\s*(#[A-Za-z][A-Za-z0-9-_]+)