正则表达式语法

Linux Shell常用技巧(一)

…衆ロ難τιáo~ 提交于 2019-12-07 17:10:06
一. 特殊文件 : /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty。其中/dev/null将会丢掉所有写入它的数据,换句换说,当程序将数据写入到此文件时,会认为它已经成功完成写入数据的操作,但实际上什么事都没有做。如果你需要的是命令的退出状态,而非它的输出,此功能会非常有用,见如下Shell代码: /> vi test_dev_null.sh #!/bin/bash if grep hello TestFile > /dev/null then echo "Found" else echo "NOT Found" fi 在vi中保存并退出后执行以下命令: /> chmod +x test_dev_null.sh #使该文件成为可执行文件 /> cat > TestFile hello my friend CTRL + D #退出命令行文件编辑状态 /> ./test_dev_null.sh Found #这里并没有输出grep命令的执行结果。 将以上Shell脚本做如下修改: /> vi test_dev_null.sh #!/bin/bash if grep hello TestFile then echo "Found" else echo "NOT Found" fi 在vi中保存退出后

字符串篇

烈酒焚心 提交于 2019-12-06 00:05:19
字符串(String、String Buffer、StringBuilder)常用方法 原文链接:https://www.cnblogs.com/116970u/p/11495096.html 1.String 1 1.获取: 2 1)获取字符串str长度 3 int i = str.length(); 4 2)根据位置(index)获取字符 5 char c = str.charAt(index); 6 3)获取字符在字符串中的位置 7 int i =str.indexOf(char ch); //获取的是第一次出现的位置 8 int i =str.indexOf(char ch ,int index); //从位置index后获取ch出现的第一次的位置 9 int i =str.indexOf(str1) ;// 获取str1 在str 第一次出现的位置 10 int i=str.indexOf(str1, index0);//获取从index位置后str第一次出现的位置 11 int i = str.lastIndexOf(ch或者 str1) //获取ch或者str1最后出现的位置 12 13 2.判断 14 1)判断是否以指定字符串str1开头、结尾 15 boolean b = str.startWith(str1) //开头 16 boolean b = str

javascript 完整知识点整理(基于w3school教程)

谁说胖子不能爱 提交于 2019-12-05 14:42:25
Copyright 2016 by 蔡舒啸 保持署名-非商业性使用-相同方式共享 Creative Commons BY-NC-ND 3.0 目录 一 5种基本类型  typeof 关键字  三种强制类型转换  日期 二 if语句for语句whiledo-whileswitch-case  比较运算符  逻辑运算符  if for语句 while do-while switch-case 三 JavaScript 是脚本语言浏览器会在读取代码时逐行地执行脚本代码 四 Javascript 内置字符串方法  正则表达式 五 JavaScript 错误 - ThrowTry 和 Catch  throw 六 Javascript验证 E-mail 验证 七 HTML DOM操作  操作css  通过css的visibility属性隐藏 DOM 节点 八 事件  使用 js 来分配事件触发那个函数  onload 和 onunload 事件  onchange输入框内容改变失去焦点时自动触发onfocus  onmouseover onmouseout鼠标事件  onmousedownonmouseup 以及 onclick 事件 九 操作DOM节点HTML标签  创建  删除 十 对象  遍历属性Java反射 十一 Browser Object Model 十二 JS库 十三 AJAX

Python正则表达式练习

半腔热情 提交于 2019-12-02 05:35:43
# -*- coding:utf-8 -*- # 正则表达式 import re # 使用match方法进行操作,匹配从头到尾的数据 # re.match(正则表达式,需要处理的字符串) a = re.match("hello", "hello world") # 检查第二个参数中是否存在第一个参数中的需求,也就是说检查第二个参数是否存在hello这个数据 print(a) # 当满足你的需求时,这里就会有返回值,如果没有返回值,就说明不满足需求 a = re.match(r"hello", "Hello world") # 因为python区分大小写,所以再第二个参数没有匹配到hello print(a) # 返回none # 使用[]匹配单个字符 # 为解决上面的问题,当你不知道大小写的时候,可以在表达式中,用[]括号将可能出现的大小写括起来 a = re.match(r"[Hh]ello", "Hello world") # 这样编写的话,不管hello还是Hello,都可以匹配到 print(a) # 还可以这样,匹配h和e可能是以大小写存在在字符串中 a = re.match(r"[Hh][Ee]llo", "HEllo world") print(a) # 使用group方法提取匹配到的数据 aa = a.group() # 如果上面match方法有匹配到数据的话

python 常见模块

▼魔方 西西 提交于 2019-12-02 02:50:58
Python sys模块用法详解 sys 是一个和 Python 解释器关系密切的标准库,它和帮助我们访问和 Python 解释器联系紧密的变量和函数 表 1 sys模块常用成员及功能 sys成员(变量和函数) 功能描述 sys.argv 获取运行 Python 程序的命令行参数。其中 sys.argv[0] 通常就是指该 Python 程序,sys.argv[1] 代表为 Python 程序提供的第一个参数,sys.argv[2] 代表为 Python 程序提供的第二个参数……依此类推。 sys.path 是一个字符串列表,其中每个字符串都是一个目录名,在使用 import 语句导入模块时,解释器就会从这些目录中查找指定的模块。 sys.exit() 通过引发 SystemExit 异常来退出程序。将其放在 try 块中不能阻止 finally 块的执行。你可以提供一个整数作为参数(默认为 0 ,标识成功),用来标识程序是否成功运行,这是 UNIX 的一个惯例。 sys.modules 返回模块名和载入模块对应关系的字典。 sys.platform 此变量是一个字符串,标识解释器当前正在运行的平台名称,它可能是标识操作系统的名称,也可能是标识其他种类的平台,如果运行 Jython 的话,就是 Java 虚拟机。 sys.stdin、sys.stdout、sys.stderr

正则

自古美人都是妖i 提交于 2019-12-01 09:54:44
一个模块的测试需求大体可以分为四大块: UI需求 、 功能需求 、 用户场景需求 、 性能与稳定性需求 UI需求 指的是,页面操作需求,不涉及到具体的业务, 仅仅是页面操作的功能 。这里面其实就包含有一些通用的隐性UI需求。 最好的产品是不管是多么小白的用户,拿到产品后能不使用用户手册或不需要旁人的指导下就能上手使用。UI要能指导用户如何去使用或用户能根据返回的提示完成他想要完成的操作。 页面是用户使用感受最直观的体现,一个功能的UI做得好不好,用起来提示容不容易理解,是体现一个产品好不好用的一个关键。基本上每个产品线每个功能模块多多少少都会涉及到UI的改动,交互的设计。 UI需求大体可以从UI限制和UI显示这两大块来考虑 : UI限制指的是页面上都有哪些限制,如输入框的限制,容量的限制,格式的限制; UI显示指的是特定条件下UI的展示效果。 功能需求 指的是,我们 做一个什么功能,要实现什么样的效果 。一般每个功能模块都会有需求文档(或需求矩阵)。若比较规范的产品线会对每个功能模块有一个比较详细的需求规格说明书,需求规格说明书里会明确规定这个功能模块需要实现什么功能,解决什么场景下的什么问题。 举个升级的例子:如升级需求:支持在线升级,支持离线导入升级。 在线升级可以根据升级的流程进行细分:下载升级包、升级过程这两个大过程, 下载升级包又可以细分:从哪里下载,怎么下载(下载的方式

linux 一些脚本语法

我只是一个虾纸丫 提交于 2019-11-30 03:50:00
sed是用来处理文本的 s/正则表达式/替换字符串/ :表示将正则表达式的内容替换为后面的字符串 g :表示替换全部,即如果不加g,则只会替换第一个 比如更改很多数据库的某个字段 update.sql {   ALTER TABLE db.role CHANGE LIE1 LIE2 mediumblob DEFAULT NULL; } updatedb.sh {   for(int i =1;i <= 100; i++)   do     name = world$i     cat update.sql | sed "s/db/$name/g" | mysql -h -u -p   done }   来源: https://www.cnblogs.com/hhxj/p/11556068.html

正则得介绍和使用——表单验证

女生的网名这么多〃 提交于 2019-11-29 13:58:33
1、正则的概念   (1)js这门语言一开始诞生得目的是什么?       就是为了做表单验证。在JS未出现以前,表单的信息验证需要传输给后台,让后台做数据验证处理之后,再返回给前端页面处理的结果。在带宽有限的情况下,整个验证过程非常复杂,且耗时。       在使用JS做验证的过程中,一个简单的验证规则的实现非常的麻烦。      如:从杂乱的字符串中找数字 var str = "asd68asd687as6da78sd123123zcacas" var linshi=''; var arr=[] for(var i = 0 ; i < str .length ; i ++){ if(str.charAt(i)>=0&&str.charAt(i)<=9){ linshi+=str.charAt(i) }else{ if(linshi!=''){ arr.push(linshi) } } } if(linshi!=''){ arr.push(linshi) } console.log(arr)       如果我们使用正则呢? var arr = str.match(/\d+/g);      是的使用正则和使用传统的js代码都可以实现这个功能,但是是不是太繁琐了。   (2)、什么是正则?      正则表达式(regular expression)是一个描述字符规则的对象

curl 采集

为君一笑 提交于 2019-11-28 01:16:55
正则表达式的复习 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字【应该是word的首字母】 \s 匹配任意的空白符 【space首字母】 \d 匹配数字 【英文Digital的首位字母吧】 \b 匹配单词的开始或结束 【begin首字母】 ^ 匹配字符串的开始 $ 匹配字符串的结束 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 //反义 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou] 匹配除了aeiou这几个字母以外的任意字符 PHP 正则表达式模式后面通常带有 /i, /is, /s, /isU等参数说明 i 匹配大小写 s 模式中的圆点元字符(.)匹配所有的字符,包括换行符 x 模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两 头,也都被忽略 A (PCRE_ANCHORED) 如果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字符串的开头开始匹配即自动在模式开头加上^。 D (PCRE_DOLLAR_ENDONLY)

(转)正则之贪婪与非贪婪模式

爷,独闯天下 提交于 2019-11-27 04:19:14
正则基础之——贪婪与非贪婪模式 分类: 正则基础 2009-11-02 07:51 3500人阅读 评论 (35) 收藏 举报 1 概述 贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为,贪婪模式在整个表达式匹配成功的前提下,尽可能多的匹配,而非贪婪模式在整个表达式匹配成功的前提下,尽可能少的匹配。非贪婪模式只被部分NFA引擎所支持。 属于贪婪模式的量词,也叫做匹配优先量词,包括: “ {m,n} ”、“ {m,} ”、“ ? ”、“ * ”和“ + ”。 在一些使用NFA引擎的语言中,在匹配优先量词后加上“ ? ”,即变成属于非贪婪模式的量词,也叫做忽略优先量词,包括: “ {m,n}? ”、“ {m,}? ”、“ ?? ”、“ *? ”和“ +? ”。 从正则语法的角度来讲,被匹配优先量词修饰的子表达式使用的就是贪婪模式,如“ (Expression)+ ”;被忽略优先量词修饰的子表达式使用的就是非贪婪模式,如“ (Expression)+? ”。 对于贪婪模式,各种文档的叫法基本一致,但是对于非贪婪模式,有的叫懒惰模式或惰性模式,有的叫勉强模式,其实叫什么无所谓,只要掌握原理和用法,能够运用自如也就是了。个人习惯使用贪婪与非贪婪的叫法,所以文中都会使用这种叫法进行介绍。 2 贪婪与非贪婪模式匹配原理 对于贪婪与非贪婪模式,可以从应用和原理两个角度进行理解