问题描述
- 我在c++里用regex,结果抛了异常,请教一下这段正则有问题吗
- 这一段是这样的,我不大清楚c++里哪些字符前面需要加转义符,所以感觉可能是这段正则本身错了,请教一下各位。
const regex commonPattern(""(((<(!|/)?\w+( ((.|\n)*?"""")?)? *>)\W*(\w+)\W*((<(!|/)?\w+( ((.|\n)*?"""")?)? *>)|((<(!|/)?\w+( ((.|\n)*?"""")?)? *>))"");
解决方案
你起码要说说你的正则是干嘛的。
给你一个建议,就是加上一个中间变量,输出下,这样可以看到C++转义之后的正则。
解决方案二:
(.|n) 这里的这个点在正则表达式里有特殊意义,如果你表示普通字符的话需要转义。
http://baike.baidu.com/link?url=sjpcs6QJUncsGNdcZkxmoxrUfNLcELZPntKo3PgWwT6btWQ60l2huq0EIpZU7VmboclnU2CzqIgZBzTcxXLOSa
解决方案三:
根据你粘贴的正则表达式报错应该是分组没有结束,就是后面少了三个小括号)
时间: 2024-10-26 02:57:21