正则

awk 用法(使用入门)

浪尽此生 提交于 2019-12-18 09:07:15
awk 用法:awk ' pattern {action} ' 变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止记录数 OFS 输出域分隔符 ORS 输出记录分隔符 1、awk '/101/' file 显示文件file中包含101的匹配行。 awk '/101/,/105/' file awk '$1 == 5' file awk '$1 == "CT"' file 注意必须带双引号 awk '$1 * $2 >100 ' file awk '$2 >5 && $2<=15' file 2、awk '{print NR,NF,$1,$NF,}' file 显示文件file的当前记录号、域数和每一行的第一个和最后一个域。 awk '/101/ {print $1,$2 + 10}' file 显示文件file的匹配行的第一、二个域加10。 awk '/101/ {print $1$2}' file awk '/101/ {print $1 $2}' file 显示文件file的匹配行的第一、二个域,但显示时域中间没有分隔符。 3、df | awk '$4>1000000 ' 通过管道符获得输入,如

ES6(二)正则y、u修饰符

…衆ロ難τιáo~ 提交于 2019-12-18 02:50:25
正则对象 /** * y 修饰符的作用与 g 修饰符类似,也是全局匹配,后一次匹配都从上一次匹配成功的下一个位置开始。 * 不同之处在于,g 修饰符只要剩余位置中存在匹配就可,而 y 修饰符确保匹配必须从剩余的第一个位置开始 **/ let str1 = 'bbb_bb_b' let reg1 = /b+/g let reg2 = /b+/y console.log('1', reg1.exec(str1), reg2.exec(str1)) console.log('2', reg1.exec(str1), reg2.exec(str1)) // 正则对象是否开启了y 修饰符 console.log(reg1.sticky, reg2.sticky) /** * ES5不支持四个字节的 UTF-16 编码,会将其识别为两个字符 * u 用来正确处理大于 \uFFFF 的Unicode字符 * **/ // false console.log(/\u{61}/.test('a')) // 加 u 修饰符才会被识别为Unicode码 // true console.log(/\u{61}/u.test('a')) console.log(`\u{20bb7}`) let str1 = '𠮷' // false console.log(/^.$/.test(str1)) // true

jmeter 正则提取器

旧时模样 提交于 2019-12-17 14:26:06
最近在使用Jmeter自动获取网页图片地址的时候,使用了正则表达式提取器,这里通过三个例子记录下来正则表达式提取器的高级用法。一来作为自己的备忘,二来也分享出来,供那些需要用到这些功能的朋友参考。 举例一:单模板单数据 定义说明: 引用名称:image表示变量名,不用多说 正则表达式:这里的一对括号就是一个模板,两对括号就是两个模板,….. 模板:这里要告诉Jmeter你要匹配哪个或哪些模板,$1$表示匹配第一个模板(就是正则表达式里的第一对括号) 匹配数字:告诉Jmeter如果匹配到了多个符合要求的,你要哪一个?这里我填写-1,表示获取全部匹配的数据 0表示随机 -1表示全部 1表示第一个 2表示第二个 …… 缺省值:没有匹配到数据时的默认值,不用多说。 好了,正则表达式提取器的定义已经完成,下面看看如果使用: 使用说明: 由于我们在匹配数字里填写了-1,匹配到的是多个值,我们就可以通过 ${变量名_坐标} 的方式获取: ${image_1}表示第一个匹配到的 ${image_2}表示第二个匹配到的 ….. 举例二:多模板单数据 定义说明: 引用名称:label表示变量名,不用多说 正则表达式:这里的一对括号就是一个模板,两对括号就是两个模板,我们使用了两个模板 模板:这里要告诉Jmeter你要匹配哪个或哪些模板,$1$,$2$表示同时匹配第一个和第二个模板的数据 匹配数字

java 常用正则表达式 的使用

帅比萌擦擦* 提交于 2019-12-17 12:33:45
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 这里只分享一些我常用的正则式技巧,都是结合我的实际使用为例 常用的正则式 匹配url: https?://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|] 有些特例也会被匹配到,比如 http://.com ,毕竟url不容易验证 匹配汉字: [\u4e00-\u9fa5] 有时候要求输入数字英文和汉字,可以这么写: [\d|\w|\u4e00-\u9fa5]+? 匹配数字: \p{Digit}+ , [0-9]+ , \d+ 匹配标签: <html>(.*?)</html> 默认 . 并不匹配换行符,需要使用 <xxx>([\s\S]*?)</xxx> 来匹配 需要escape的特殊字符 $()*+.[]?\^{}| 字符串escape[比如匹配指定前缀] 有的时候我们要匹配指定前缀,难免会有一些特殊字符,比如: $(xxx)-01 , $(xxx)-02 , $(xxx)-03 这里涉及到escape的字符,需要替换,否则会当做正则式的特殊符号处理 正常都是replaceAll解决,其实有更简单的办法 我们可以通过 ** Pattern.quote ** 解决 String regex=Pattern.quote("$(xxx)-") + "\\d+";

常用正则表示式

99封情书 提交于 2019-12-17 12:25:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 匹配中文字符的正则表达式: [\u4e00-\u9fa5]   评注:匹配中文还真是个头疼的事,有了这个表达式就好办了哦   获取日期正则表达式:\d{4}[年|\-|\.]\d{1,2}[月|\-|\.]\d{1,2}日?   评注:可用来匹配大多数年月日信息。   匹配双字节字符(包括汉字在内):[^\x00-\xff]   评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)   匹配空白行的正则表达式:\n\s*\r   评注:可以用来删除空白行   匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</>|<.*? />   评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力   匹配首尾空白字符的正则表达式:^\s*|\s*$   评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式   匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*   评注:表单验证时很实用   匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*   评注:网上流传的版本功能很有限,上面这个基本可以满足需求   匹配帐号是否合法(字母开头

正则匹配原理之——逆序环视深入

感情迁移 提交于 2019-12-17 12:23:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前几天在 CSDN 论坛遇到这样一个问题: var str="8912341253789"; 需要将这个字符串中的重复的数字给去掉,也就是结果 89123457 。 首先需要说明的是,这种需求并不适合用正则来实现,至少,正则不是最好的实现方式。 这个问题本身不是本文讨论的重点,本文所要讨论的,主要是由这一问题的解决方案而引出的另一个正则匹配原理问题。 先看一下针对这一问题本身给出的解决方案。 string str = "8912341253789" ; Regex reg = new Regex ( @"((\d)\d*?)\2" ); while (str != (str = reg.Replace(str, "$1" ))) { } richTextBox2.Text = str; /*-------- 输出 -------- 89123457 */ 基于此有朋友提出另一个疑问,为什么使用下面的正则没有效果 “ (?<=(?<value>\d).*?)\k<value> ” 由此也引出本文所要讨论的逆序环视更深入的一些细节,涉及到逆序环视的匹配原理和匹配过程。前面的两篇博客中虽然也有介绍,但还不够深入,参考 正则基础之 —— 环视 和 正则应用之 —— 逆序环视探索

学习正则的记录

怎甘沉沦 提交于 2019-12-17 04:32:40
^ 有三种含义 一种是所匹配的首个字符 一种是在[^a-z]中 不匹配a-z 还有种是 /^ab/m 这时候^会匹配一段文字起始 $ 应用/a$/ 指最后一个字符为a /a$/m 指行结束匹配是否有a (?: )禁止反向引用 \1 + [1,无穷大] 至少一个或者多个 *[0,] 0个或多个 ?[0,1] 0个或者1个 /[a-z]{1,2}/ 匹配a到z之间的字符 1个或两个 \d = [0-9] \s 任何一个空白符 =[\f\n\r\t\v] (ps:\b backspace不在其中) \w 任何一个字母数字或者下划线。 \. 匹配字符串中除了换行符\n之外的所有字符。 包括他本身 \b边界符 \B非边界符 表达式或 /aaa(?=)/ /aaa(?!)/ 正向匹配 空白元素符 \f 换页符 \n 换行符 \r 回车符 \t 制表符 tab \v 垂直制表符 来源: https://www.cnblogs.com/LEOOOOO/p/5142190.html

java正则使用全记录!

笑着哭i 提交于 2019-12-17 00:38:24
一 开坑! 场景: 将动态uri中{} 替换成 至少出现一次的任意字符进行匹配, 比如 loclahost:8080/{name}/{9527} -> localhost:8080/.{1,}/.{1,} 来匹配任意动态请求 正则: 注意点: .* : 匹配任意字符出现任意次,也可以是空字符串(换行符除外) * 与{1,}这些表示出现次数的不能连用,如果匹配出现至少一次字符, 直接用 .{1,}或者 .+ \是转义,匹配\需要使用\\ , 因为{ 是限定开始符,所以需要\{进行转义,代表他本来意思,就是普通{ String replaceAll = wapi.replaceAll("\\{.*}", ".{1,}"); Pattern compile = Pattern.compile(replaceAll); Matcher matcher = compile.matcher(requestURI); if(matcher.find())return null;    来源: https://www.cnblogs.com/houzheng/p/10810299.html

cookie与正则

▼魔方 西西 提交于 2019-12-16 22:10:38
一、cookie cookie : 由web服务器创建的,存储在本地计算机中的少容量数据 用户名,密码,id,只能存储4KB 谷歌和欧朋不支持本地存储 如果没有过期时间,一般浏览结束后销毁cookie 作用 :方便服务器识别用户,存储账号密码 cookie缺点:容量限制 4KB 由http明文传递,容易被窃用,盗取 cookie每一次请求都会自动添加到请求头Request Headers,增加容量 1. 存储cookie //1.存储:document.cookie="key=value" document . cookie = "userName=ujiuye" ; //2.存储多个,需要写多次 document . cookie = "passWord=123456" ; //3.key同名会覆盖 document . cookie = "passWord=654321" ; 2. 获取cookie //2.获取cookie var cookie = document . cookie ; console . log ( cookie ) ; //"userName=ujiuye; passWord=123456" var arr = cookie . split ( "; " ) ; //分号加空格 console . log ( arr ) ; //["userName

配置干货

ぐ巨炮叔叔 提交于 2019-12-16 08:47:33
#干货 SELECT count(1) as a FROM gdm.gdm_m04_ord_sum where dt = '2019-12-09' and parent_sale_ord_id = sale_ord_id dp='ACTIVE' 卡分区 干货物 中通快递的正则校验。目前中通正则为: ^((118|828|618|680|518|528|688|689|010|880|660|805|888|988|628|205|717|718|719|728|738|76[0-9]|701|757|751|768|778|779|358)[0-9]{9})$|^((5711|2008|2009|2010|1180)[0-9]{8})$|^((66|88)[0-9]{8})$|^(3[5,6,7]|4[0-9]|5[3-6]|[7|8]8)\d{10}$|^(78|63|12|64)\d{10}$|^(11|13|54|55|56|50|51|72)\d{10}$|^9\d{11}$|^2[1-9]{1}[0-9]{10}$|^2710[0-9]{11}$|^731[0-9]{11}$|^751[0-7]{1}[0-9]{10}$|^753[0-9]{11}$|^771[0-9]{11}$|^73[0-9]{12}$ java8 -------------- before ----