\"(?<content>[\w\W]*?)\" 这个正则表达式 我怎么看不懂 求解释
1个回答
2013-11-01
展开全部
最前面和最后面的\"都是双引号,在字符串里需要转义;(?<content>正则) 是一种命名捕获的结构,它里面的正则如果匹配了,在后面就可以用\k<content>来引用;[\w\W] 用了互补的集合,来表示“任意字符”,这里和.(点)的概念差不多,但.(点)在默认的情况下是不支持换行符的,用[\w\W]就可以匹配任意的字符,也包括换行符;后面的*?:*代表前面的字符可以出现0次或者无数次,默认是“贪婪的”也就是会尽可能地匹配,这样会有个问题,[\w\W]会把双引号也匹配了,比如得到的结果:"abc"cdef"ghi"(也许这个例子很烂,只是稍带说明一下,详细的理解你可以根据“贪婪”这个关键字去专门搜一下相关的知识),一般解决的方法是在量词(这里的*、还会有+、{n,m}这些量词)后面加上一个问号?,来改变它们的“贪婪的”这个属性,加上问号之后就是“尽可能少地匹配”,这样[\w\W]就不会轻易匹配双引了。 整合起来,整个正则就是要匹配一串被包含在双引号里面的内容。还有什么具体的可以继续交流
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询