这篇笔记不是分享经验,而是纯粹感慨一下自己的愚笨和健忘。
正则每次都写不对,这次更是犯了一个超级蠢超低级的错误。
我想提取一个标签的内容,按照道理来说,5秒就能秒掉这个匹配,但是我花了30分钟都没写对。
其实就是例如
1 | <a class="XXXX">我要提取的内容, something i want to extract plz!!!</a> |
正常的匹配是:
1 | regex = <a(?:\s[^<>]+)?>(.*?)<\/a> |
蠢掉的我,写了
1 | regex = <a(?:\s[^<>]+)?>.*?<\/a> |
死活匹配不上,发现问题在哪里了嘛?没错
1 | ".*?" vs "(.*?)" |
这里涉及到一个组合的问题,我发现我自己写正则总是丢三落四的,这里我要记忆一下,这个“()”的作用其实是:这是一个匹配组!
请以后不要再犯傻了🐟!!