Python 这个正则表达式模式匹配什么?
特别是这部分:Python 这个正则表达式模式匹配什么?,python,regex,Python,Regex,特别是这部分:\s*[-*+] 我想匹配此字符串: regex = re.compile(r"\s*[-*+]\s*(.+)") 但它失败了 \s*[-*+]的意思是: 匹配可选空格,后跟以下字符之一:-,*,+ 这是用Python编写的。模式\s*[-*+]\s*(.+)表示: \s*-匹配零个或多个白色APCE [-*+]-匹配集合中的一个字符:-或*或+ (.+)-匹配一个或多个任意字符并将其存储在捕获组中(表示任意字符,括号表示捕获组) 在您的句子中,由于缺少集合-*+中的任何字符,模
\s*[-*+]
我想匹配此字符串
:
regex = re.compile(r"\s*[-*+]\s*(.+)")
但它失败了
\s*[-*+]
的意思是:
匹配可选空格,后跟以下字符之一:-
,*
,+
这是用Python编写的。模式\s*[-*+]\s*(.+)
表示:
\s*
-匹配零个或多个白色APCE
[-*+]
-匹配集合中的一个字符:-
或*
或+
(.+)
-匹配一个或多个任意字符并将其存储在捕获组中(
表示任意字符,括号表示捕获组)
在您的句子中,由于缺少集合-*+
中的任何字符,模式将不匹配任何内容
它将匹配,例如*(person)也很好。
中
[John](person)is good and [Mary](person) is good too.
为了匹配括号中的名称及其说明,请使用\[([^\]]+)\]\([^]+)
说明:
\[
-按字面意思匹配[
([^\]]+)
-匹配]
中的一个或多个字符,并将其存储在第一个captuirng组中
\]
-按字面意思匹配[
\(
-按字面意思匹配(
)
([^)]+)
-匹配)
将鼠标放在正则表达式的每个部分上,逐条解释。将示例文本添加到框中,查看其匹配情况。
\s*[-*+]
这意味着0个或更多的空格和任何字符-
*
或+
是的,这正是它的意思。而您的输入字符串没有这些字符。您试图匹配什么?我猜您想拉出名称和标记,例如John
和person
?@MyNameIsC亚历布,是的。
[John](person)is good and [Mary] * (person) is good too.