find({}).forPurpose({"key":"value"})
这个字符串用{.*}匹配,不能匹配到第一组{}吗?
1
zxCoder OP 改成{.*?}就好了 这是为什么呢?
?是 0 次或 1 次 *是 0 次或多次 |
2
lululau 2020 年 12 月 25 日
量词后面的 ? 不表示 0 或者 1 次匹配,搜下“正则非贪婪匹配”
|
3
xupefei 2020 年 12 月 25 日 via iPhone
加了问号是非贪婪,能匹配多短就匹配多短。
|
4
msg7086 2020 年 12 月 25 日
因为 }).forPurpose({"key":"value" 也是匹配的。
你用*,匹配尽可能多次。 *?是匹配尽可能少。 |