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支持的正则表达式功能语法 七.总结 八.参考 ...
随机推荐
- [XAF] Simplifying integration of custom controls bound to data from XAF application database
ASP.NET: http://www.screencast.com/t/OHhcHD9vy WinForms: http://www.screencast.com/t/8M8K4eskkYO9
- Android JIT实时编译器的设置
在Android JIT实时编译是在Android 2.2之后才引入的,JIT编译器可以显著的提高机器的性能,经过测试,android 2.2的性能较android 2.1提高了 2-5倍.JIT提 ...
- 【leetcode】Unique Paths
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- javascript定时函数
setTimeout(表达式,延迟时间)是定时程序,也就是在什么时间以后干什么,只做一次,就不做了.表达式为字符串函数或其它表达式,时间单位为毫秒 例子:setTimeout("f()&qu ...
- Mono+Jexus部署Web页面
一.web页面 二.Jexus默认站点的配置文件(只需修改站点路径) ###################### # Web Site: Default ###################### ...
- 学习设计模式第三 - 基础使用UML表示关系
面向对象的思想中存在如下几种关系,一般为了方便交流都使用UML的类图来展现类之间的关系.所以了解类图中符号的含义对看懂类图,尤其是用类图展示的设计模式很有帮助.下面依次介绍这几种关系 类继承关系 继承 ...
- GOOGLE PROTOBUF开发者指南
原文地址:http://www.cppblog.com/liquidx/archive/2009/06/23/88366.html 译者: gashero 目录 1 概览 1.1 什么是pro ...
- Yii CModel中rules验证规则[转]
array( array(‘username’, ‘required’), array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12), array( ...
- 自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药
自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证
要对接微信公众平台的"开发模式",即对接到自己的网站程序,必须在注册成功之后(见Senparc.Weixin.MP SDK 微信公众平台开发教程(一):微信公众平台注册),等待官方 ...