2024-10-14 07:10:52
为什么*匹配0次到任意次的时候会多两个0长度的字符呢?原因那我有点晕
我试了下 单独输入‘}’也就是 p.findall('}')会得到['', '']是不是这个意思,当出现‘}’符号的时候[^}]不匹配,就是没有也就是空,所以*这里就配了一次空字符‘’,但是另一个空字符‘’是怎么来的呢?是结尾的空么?
你试试 p.findall(''),是不是会得到一个呢?
会得到一个[‘’]
就是这个意思咯,0长度的字符串仍然会返回一个匹配,这就是会多出两个空匹配的原因。
那最后一个产生的空0长度字符串 是不是就是'}'后面的空字符呢
你可以理解为'}'后面有一个''
你好 我还有有点迷惑,
看结果
第一次匹配到'section{First'
第二次匹配到的是''这个空是怎么匹配的呢?是如何产生的呢'section{First}'匹配完'section{First'的时候匹配位置就应该移动到'}'字符了啊,这个字符是不匹配的不应该又返回结果的啊
第三次匹配到的也是''这个空您也说了我可以理解为'}'后面有一个''主要是第二个空怎么产生的呢
2024-10-14 06:05:39