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支持的正则表达式功能语法 七.总结 八.参考 ...
随机推荐
- React 随笔二
这周做的demo3和demo4.5 随记的小点. 1.js错误提示: Warning: Each child in an array or iterator should have a unique ...
- 黑马程序员+SQL基础(上)
黑马程序员+SQL基础 ---------------<a href="http://edu.csdn.net"target="blank">ASP ...
- 跟visual studio 集成的git插件
目前有三个,git extension,微软的 visual studio tools for git extension,还有git source control provider 经测试,最好用的 ...
- js 数组遍历for..in弊端
//for..in在数组中的弊端 原则上数组Array对象是不能操作的,但是有些程序员开始不注意把Array的原型链上添加了方法就会出现意想不到的bug //例如 ,,]; Array.prototy ...
- java 多线程(threadlocal)
package com.example; import java.util.Random; public class App { public static class MyRunnable1 imp ...
- Linux 网络编程(TCP)
客户端代码 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/sock ...
- 图解集合5:不正确地使用HashMap引发死循环及元素丢失
问题引出 前一篇文章讲解了HashMap的实现原理,讲到了HashMap不是线程安全的.那么HashMap在多线程环境下又会有什么问题呢? 几个月前,公司项目的一个模块在线上运行的时候出现了死循环,死 ...
- 【WEB】Tomcat基础使用知识
由于当前项目性质原因,从开始到现在使用的WEB服务器都是WAS,而Tomcat的基础知识也慢慢地被遗忘.由于种种原因,让我参与到了另外一个全新的项目,使用的是Tomcat6.X,所以复习是必须的,而写 ...
- 最全数据结构详述: List VS IEnumerable VS IQueryable VS ICollection VS IDictionary
本文对常用的数据结构详述:Array, ArrayList,List,IList,ICollection, Stack, Queue, HashTable, Dictionary, IQueryabl ...
- IOS 公共类-MyMBProgressUtil Progress显示
IOS 公共类-MyMBProgressUtil Progress显示 此公共类用于显示提示框,对MBProgress的进一步封装.可以看下面的代码 接口: @interface MyMBProgre ...