VS2013正则表达式应用示例
VS2013正则表达式语法
在查找替换对话框中查看
VS2013语法可在查找替换对话框中查看,具体过程如下:
- 通过编辑->查找和替换->在文件中替换或者相应快捷键(Ctrl+Shift+H)打开查找替换对话框
- 在查找选项中勾选使用正则表达式,如下图:

- 点击查找内容或替换为文本框右边的(a)+ 按钮即可查看正则表达式帮助,二者分别表示查找语法和替换语法。
查找语法如下图:
替换语法如下图:
点击查找和替换语法的正则表达式帮助都可在MSDN中查看详细语法
在线查看
详见Using Regular Expressions in Visual Studio,值得注意的是VS2013正则表达式语法与.Net的有许多区别。
应用
去除多余的换行符
在NET正则基础之——平衡组最下面的一段有穷自动机代码,每行代码后都有两个空行,这样代码显得十分稀疏,不方便阅读。
替换前:

替换表达式:

替换后:

去除行号
有时候,我们在网上找到的代码中含有行号。如果手工去除的话,太麻烦了。而如果自己写程序的话,则每次用到不同的行号格式的话,就需要去改写相应的程序。这个时候使用正则表达式就很合适了。
比如在[变]C#谜题(1-10)表达式篇中,我发现了一段代码,没有复制按钮(可能跟我是手机开热点连接到电脑有关)。如下图:

复制到VS后,经过分析,我们发现除第一行外的其余行由如下部分组成,开始的行号,中间的空格,最后的代码。(第一行有空格是因为代码缩进)

这个时候就可使用正则表达式,如下图:

为了照顾第一行,我在前面加了\s*,然后点击全部替换就可以完成替换。完成替换后可通过设置下格式(编辑->高级->设置文档的格式或者设置选定内容的格式),这样代码就好看多了。最后的效果如下:

PS:博客园的代码进入复制模式后无法返回查看代码,也可以直接复制到VS后通过这种方式去掉行号。当然,我个人更建议先看下代码思想,然后自己再写一遍。
VS2013正则表达式应用示例的更多相关文章
- Oracle 正则表达式使用示例
正则表达式的基本例子 在使用这个新功能之前,您需要了解一些元字符的含义.句号 (.) 匹配一个正规表达式中的任意字符(除了换行符).例如,正规表达式 a.b 匹配的字符串中首先包含字母 a,接着是其它 ...
- web正则表达式与示例
正则表达式应用——实例应用: 1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字 ...
- winform 表单正则表达式验证 示例(ValidationRule)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 【java】正则表达式简单示例
public class Test { public static void main(String[] args) { String str="135axy"; String r ...
- Java的String.matches不区分大小写正则表达式匹配示例
需求:输入的cmd符合create,listall,delete三种形式,不用区分大小写 写成函数: public static boolean isAllowed3Cmd(String cmd) { ...
- Java正则表达式教程及示例
本文由 ImportNew - ImportNew读者 翻译自 journaldev.欢迎加入翻译小组.转载请见文末要求. [感谢 @CuGBabyBeaR 的热心翻译.如果其他朋友也有不错的原创或 ...
- scala和正则表达式常用基础知识示例
http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html . 匹配除换行符以外的 ...
- Python学习手册之正则表达式示例--邮箱地址提取
在上一篇文章中,我们介绍了 Python 的捕获组和特殊匹配字符串,现在我们介绍 Python 的正则表达式使用示例.查看上一篇文章请点击:https://www.cnblogs.com/dustma ...
- Java魔法堂:深入正则表达式API
目录 一.前言 二.正则表达式的使用诉求 三.java.util.regex包 四.java.lang.String实例 五.最短路径实现诉求 六.Java支持的正则表达式功能语法 七.总结 八.参考 ...
随机推荐
- webdriver 获取alert 提示no alert is active
http://hi.baidu.com/janice515/item/bce536bb136e8441bb0e120f 摘上面: 一般正常情况下会报错,如 no alert is active 目 ...
- halcon读取一张照片,并转化为灰度图像
dev_close_window () read_image (Image, 'E:/图片/123.jpg') get_image_size (Image, Width, Height) dev_op ...
- 团队spring会议1
一.我们在近期进行了第一次计划会议,会议过程大致如下: 1.确定所做项目的方向: 2.将调查问卷的结果进行统计,做了需求分析,大致了解了用户的想法: 3.确定了团队计划backlog: 4.将任务进行 ...
- C++混合编程之idlcpp教程Python篇(8)
上一篇在这 C++混合编程之idlcpp教程Python篇(7) 第一篇在这 C++混合编程之idlcpp教程(一) 与前面的工程相似,工程PythonTutorial6中,同样加入了四个文件:Pyt ...
- 使用Nginx实现负载均衡
使用Nginx实现负载均衡 一.nginx简介 nginx是一个高性能的HTTP服务器和反向代理服务器.它起初是俄罗斯人Igor Sysoev开发的,至今支撑者俄罗斯的很多大型的网站. 二.nginx ...
- 第二次作业:Github的使用
Github的使用 一·注册: 要想使用github第一步当然是注册github账号了.之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称 ...
- java提高篇(十六)-----异常(一)
Java的基本理念是“结构不佳的代码不能运行”!!!!! 大成若缺,其用不弊. 大盈若冲,其用不穷. 在这个世界不可能存在完美的东西,不管完美的思维有多么缜密,细心,我们都不可能考虑所有的因 ...
- Caliburn实现MVVM模式的编程
引言:什么是Caliburn ? 一个夜晚,一处教堂,人们忏悔结束后抬头看到一把宝剑插在一块石头上.石上字述“英格兰人,凡能从石头上拔出剑者,为王者!”,Caliburn就是英格兰人心中的石中剑,这把 ...
- js模版引擎handlebars.js实用教程——由于if功力不足引出的Helper
返回目录 <!DOCTYPE html> <html> <head> <META http-equiv=Content-Type content=" ...
- YprogressBar,html5进度条样式,js进度条插件
简介 YprogressBar是一款基于HTML5的进度条插件. YprogressBar是一款轻量级进度条插件,使用方便,资源占用少,模仿好压的解压界面,带有数字显示,同时支持在描述中增加参数,以动 ...