尀"(?<content>[尀w尀W]*?)尀" 这个正则表达式 我怎么看不懂 求解释

2025-03-23 05:08:57
推荐回答(1个)
回答1:

最前面和最后面的\"都是双引号,在字符串里需要转义;(?正则) 是一种命名捕获的结构,它里面的正则如果匹配了,在后面就可以用\k来引用;[\w\W] 用了互补的集合,来表示“任意字符”,这里和.(点)的概念差不多,但.(点)在默认的情况下是不支持换行符的,用[\w\W]就可以匹配任意的字符,也包括换行符;后面的*?:*代表前面的字符可以出现0次或者无数次,默认是“贪婪的”也就是会尽可能地匹配,这样会有个问题,[\w\W]会把双引号也匹配了,比如得到的结果:"abc"cdef"ghi"(也许这个例子很烂,只是稍带说明一下,详细的理解你可以根据“贪婪”这个关键字去专门搜一下相关的知识),一般解决的方法是在量词(这里的*、还会有+、{n,m}这些量词)后面加上一个问号?,来改变它们的“贪婪的”这个属性,加上问号之后就是“尽可能少地匹配”,这样[\w\W]就不会轻易匹配双引了。 整合起来,整个正则就是要匹配一串被包含在双引号里面的内容。还有什么具体的可以继续交流