我有类似"members[value eq"2819c223-7f76-453a-919d-413861904646"].displayName"
的字符串,我试图在其中检索成员、括号中的字符串和displayname。
我试过了,matchObj = re.match( r"(.*)[([.*]+)?](.*?)", line, re.M|re.I)
其中括号中的字符串和最后一个字符串(在.
之后(是可选的(这部分为"[value eq"2819c223-7f76-453a-919d-413861904646"].displayName"
(。
我在这里做错了什么?
(w+)([[^]]*])?(.w+)?
w
将匹配任何单词字符(字母、数字和下划线(- 使用
[a-zA-Z]
只匹配字母,使用[a-zA-Zd]
也匹配数字
- 使用
[[^]]*]
将匹配[
,然后是非]
字符,然后是]
([[^]]*])?
使其可用于整个模式
.w+
将匹配.
和单词字符
如果使用(.*)
而不是(w+)
,则.*
的贪婪性将使其能够匹配所有内容,因为接下来的两个都是可选的。另请参阅:贪婪与不情愿与占有量词