正则

代码行计算:VS2010用正则表达式统计代码行

喜欢而已 提交于 2020-03-30 06:20:42
1、Ctrl+Shift+F 2、查找内容:^:b*[^:b#/]+.*$ 3、查找范围:整个解决方案 4、查找选项:使用:正则表达式 5、文件类型 6、从输出窗体看看到 匹配行: 327444 匹配文件: 2116 合计搜索文件: 2118 匹配行便是统计行数。 正则表达式:^:b*[^:b#/]+.*$ 需要注意:#开头和/开头或者空行都不计入代码量。 如果需要只统计代码文件的代码量,可以按住Ctrl+Shift+F之后选择查找文件的类型。 来源: https://www.cnblogs.com/oldcell/archive/2013/04/25/3041763.html

自己动手写一个简单正则表达式解析器(待续,未完成)

回眸只為那壹抹淺笑 提交于 2020-03-29 20:26:50
1.状态机及形式语言基础 2. 版本1:仅仅匹配一个? 3. 版本2:如何匹配*? 4. 如何实现*, ?的匹配? 5. 如何实现根据输入的pattern,生成DFA状态机? 1. 状态机及形式语言基础 1.1 语言和文法 在计算机中存在下面两个比较重要的问题,一个问题提出之后,能否使用计算机来执行,如果能够执行的话,那么该怎么执行?这些都是计算模型需要解决的问题,为解决山这些问题,需要来首先了一下什么是形式语言,相对于自然语言而言,如何去描述一个形式语言(文法)? 自然语言就是日常的口头语言,将一个自然语言翻译成另外的一种自然语言的问题引出了“形式语言”的概念。下面就是一个迭代的定义: 1. 字母表V :含有有限元素的非空集合,其中包含终结符号(无法被替换的符号)记为T;非终结符号(简单的将是能够被替换的元素),记为N;定义开始符S为推导的开始。 2. 单词 :定义在字母表V上的单词定义为V中元素组成的有限长度的字串。 3. 空串 :没有符号的串,记为 λ 4. V上所有单词的集合记为V* 5. 指明V*中的串能够被什么样的串替换的表达式称之为“ 产生式” 6. 有了上面的基础开始定义什么是文法: 文法 是由下面的是是部分组成:G = < V, T, S, P >,其中字母表V,有V上的所有的终结符组成的集合T,S为推导的开始符,P为产生式的集合。 7. 下面定义什么是 语言 L

正则删除空行

ε祈祈猫儿з 提交于 2020-03-27 04:53:51
/** * auther by GodSon * * date : 2010 - 11 -29 */ $.extend($.fn.validatebox.defaults.rules, { minLength: { // 判断最小长度 validator: function (value, param) { return value.length >= param[0]; }, message: '最少输入 {0} 个字符。' }, length: { validator: function (value, param) { var len = $.trim(value).length; return len >= param[0] && len <= param[1]; }, message: "内容长度介于{0}和{1}之间." }, phone: {// 验证电话号码 validator: function (value) { return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value); }, message: '格式不正确,请使用下面格式:020-88888888' }, mobile: {// 验证手机号码 validator:

notepad正则删除关键词所在行

≡放荡痞女 提交于 2020-03-26 16:59:26
转自:http://www.gangzi.net/article/615.htm 查找: ^.*大师兄.*$ 替换为:(空) 如果不留空行: 查找: ^.*大师兄.*\r?\n 替换为:(空) 注意: Notepad++的[全部替换]受[方向]约束,所以如果想“向下”全部替换,要把光标放到文首。 来源: https://www.cnblogs.com/liujx2019/p/12574665.html

php输出多余的空格或者空行

こ雲淡風輕ζ 提交于 2020-03-25 20:06:18
1,文件是否有bom。可以通过脚步检测,或者利用notepa++打开,查看编码格式。 2. <?php echo 'something'; ?> 或许是你的 php标签外 ,有空格或者空行。一般的项目都是用框架,包含很多的文件,如果一个个文件去排查,估计都没有这样的耐心。可以通过编辑器的快捷键,写个正则查找。 参考正则: \s<\?php 用于查看开始标签外有空格。一般框架都不写结束标签的,如果你写了,也要排查 3. 注意文件包含,只要允许中被包含的文件,都可能导致多余的空格输出。 来源: https://www.cnblogs.com/guohong-hu/p/7712273.html

editplus 常用正则

纵然是瞬间 提交于 2020-03-25 19:40:02
EditPlus的查找,替换,文件中查找支持以下的正则表达式: Expression Description \t Tab character. \n New line. . Matches any character. | Either expression on its left and right side matches the target string. For example, "a|b" matches "a" and "b". [] Any of the enclosed characters may match the target character. For example, "[ab]" matches "a" and "b". "[0-9]" matches any digit. [^] None of the enclosed characters may match the target character. For example, "[^ab]" matches all character EXCEPT "a" and "b". "[^0-9]" matches any non-digit character. * Character to the left of asterisk in the expression should match 0

正则去除Teleport pro冗余代码!

半世苍凉 提交于 2020-03-25 19:38:05
Teleport pro给代码加的.相当于一个说明.提示. 可以在 DreamWeaver中使用正则表达式批量清除这种代码. 具体写法如下: 匹配tppabs标签: \btppabs="h[^"]*" 替换为 (空) 匹配javascript代码: href="javascript:if\(confirm\('htt[^"]*" 替换为 href="../" 注意替换的时候.应该勾选 "使用正则表达式" css文件中,还有一些类似/*tpa=http://image.39.net/cancer/images/focus_bmark_bg.gif*/这样的代码 用正则,是这样做的. tpa=http://[^\s]*.gif 替换为 (空) 然后剩下的就是/**/ 了,可以不需要正则替换了. 来源: https://www.cnblogs.com/noyobo/archive/2011/03/10/1980033.html

ES6 字符串扩展+正则扩展+数值扩展

会有一股神秘感。 提交于 2020-03-25 17:10:32
模版字符串 ``反引号表示 var cyy={ name:"cyy", age:18, say:function(){ console.log('我叫'+this.name+',我今年'+this.age+'岁'); }, say2:function(){ console.log(`我叫`+this.name+`,我今年`+this.age+`岁`);//模板字符串可以替代单引号或者双引号 }, say3:function(){ console.log(`我叫${ this.name },我今年${ this.age }岁`);//可以用${}替代字符串拼接 }, say4:function(){ console.log(`我叫${ `Miss ${this.name}` },我今年${ this.age }岁`);//${}可以嵌套 }, say5:function(){ console.log(`我叫${ `Miss ${this.name.toUpperCase()}` },我今年${ this.age }岁`);//${}可以使用字符串方法 } } cyy.say(); cyy.say2(); cyy.say3(); cyy.say4(); cyy.say5(); 普通方式渲染数据 //模拟ajax获取到数据 function getList(){ //ajax

编写GO的WEB开发框架 (六): Validator数据校验

元气小坏坏 提交于 2020-03-25 03:52:19
3 月,跳不动了?>>> 一般地,获取到请求参数后,都需要根椐接口定义,对参数有一些合法性检查,比如: 是否必填 是否数字,数字的范围 字符串的长度 值是否在指定的列表中 是否有效的日期 是否满足指定的正式表达式 本篇讲述怎么编写一个Validator来对请求参数进行合法性检查。 validator的使用方法 设计一个功能时,我都习惯“目标驱动”,那就先来看看我期望的Validator怎么使用 func (this *Controller) User(){ validator:=NewValidator(this.Post) //将要检查的数据字典传入,生成Validator对象 validator.AddRule("name","string","2-5",true) //对字段name添加规则: 2-5个字符长度,必填 validator.AddRule("sport","list","football,swim",false) //对字段sport添加规则: 值需在列表中(football,swim),非必填 ... if err:= validator.Check();err !=nil{ //检查不通过,处理错误 } } 相关结构、接口及实现 有了目标,就开始定义对象、接口及相关的方法 type Validator struct { data map[string

Mysql 正则获取字段的交集

风格不统一 提交于 2020-03-24 14:34:32
3 月,跳不动了?>>> 例子类似钉钉打卡考勤:SELECT * FROM fa_checkingroup WHERE ( (concat(',',cdepartment_id,',') regexp concat(',(',replace('2,12',',','|'),'),') OR (concat(',',cuser_id,',') regexp concat(',(',replace('40',',','|'),'),'))) AND !(concat(',',wuser_id,',') regexp concat(',(',replace('40',',','|'),'),')) ) AND company_id = 2 问题描述 比如table1中有两条记录 name no a 2,9 b 8,10 然后有一串字符串,是0,1,2,3,4 然后通过一条sql,找出no为2,9的记录来``` 因为字符串中有2,数据中也有2 详细解释 ------------------------------ 表的字段就是 name no a 2,9 b 8,10 字符串是str="0,1,2,3,4" 接下来就是查 no字段里跟str里有交集的记录 查询的结果就是name=a的,no=2,9的 ------------------------------ Sql代码 select *