繁体   English   中英

这个正则表达式模式匹配什么?

[英]What does this regex pattern match?

regex = re.compile(r"\s*[-*+]\s*(.+)")

尤其是这部分: \s*[-*+]

我想匹配这个string

[John](person)is good and [Mary](person) is good too.

但它失败了。

\s*[-*+]是否意味着以下内容:

匹配一个可选空格,后跟以下字符之一: -*+

这是在 Python 中。

模式\s*[-*+]\s*(.+)表示:

\s* - 匹配零个或多个 whitesapces

[-*+] - 匹配集合中的一个字符: -*+

(.+) - 匹配任何一个或多个字符并将其存储在捕获组中( .表示任何字符,括号表示捕获组)

在您的句子中,由于缺少集合-*+中的任何字符,模式将不匹配任何内容。

它会匹配,例如* (person) is good too.

[John](person)is good and [Mary] * (person) is good too.

演示

为了匹配括号中的名称及其描述,请使用\[([^\]]+)\]\(([^)]+)

解释:

\[ - 匹配[字面意思

([^\]]+) - 匹配]以外的一个或多个字符并将其存储在第一个捕获组中

\] - 匹配[字面意思

\( - 匹配(字面意思

([^)]+) - 匹配)以外的一个或多个字符

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM