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.