问题描述
最近做个代码解析工具出现了问题,就是正则去掉代码中的单行和多行注释,但是对于http://这样的内容会被去掉了,然后代码无法执行,想问下,应该怎么过滤点这种呢?
问题解答
回答1:正则不是万能的,这个是语法分析的范畴
回答2:如果引擎支持的话,可以试试预匹配(或者叫零宽断言、前向匹配什么的,反正都能查到)。
另一种思路是,先把 http:// 替换成某个不太可能冲突的占位符,例如 http:::,再去掉注释以后再替换回来。
问题描述
最近做个代码解析工具出现了问题,就是正则去掉代码中的单行和多行注释,但是对于http://这样的内容会被去掉了,然后代码无法执行,想问下,应该怎么过滤点这种呢?
问题解答
回答1:正则不是万能的,这个是语法分析的范畴
回答2:如果引擎支持的话,可以试试预匹配(或者叫零宽断言、前向匹配什么的,反正都能查到)。
另一种思路是,先把 http:// 替换成某个不太可能冲突的占位符,例如 http:::,再去掉注释以后再替换回来。
相关文章:1. 为什么老师,你de button按钮处可以有两个ID是一样的id="loginbtn" 而不会报错啊2. solaris基础和常用知识 (2)3. 为什么总是提示我说Template "movieTemplate" not found,我路径都引对了呀4. <tr valign="top"> 看不懂5. mysql - sphinx查询 "中国" 时也能查询到 "中华人民共和国"6. MySQL"="自动 like7. node.js mysql Cannot find module "net" 和 "tls"和"fs" 的问题8. mysql 使用 join 还是 "," 进行多表查询???9. mysql - 使用hibernate连接数据库时,数据库版本过高不支持关键字"type" ;10. 发现 <li><a href="/index.php">回到前台</a></li>这样回到首页后,不是登录状态
网公网安备:皖ICP备2020019022号-8 Copyright ¢ 2020-2025 Powered by V1.8 All Rights Reserved 技术支持:乐呵呵网
声明:本站所有资源以学习为主