正则

java日期+正则

匿名 (未验证) 提交于 2019-12-02 21:53:52
正则是最好用的工具 牢记于心 一般java对日期的处理 我觉得基本操作吧 就是 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 通过这个 把形如“2018-06-19”的字符串转换成日期(java.util.Date格式) 但是这个转换 是会抛异常的 比如我取的是数据库中最大的日期 但有可能日期根本不存在 是个字符串 这样的话稳稳的是要报错抛异常的。为了解决这个问题 就又一次想到了正则 String testStr = ""; Pattern p = Pattern.compile("^\\d{4}\\-\\d{1,2}\\-\\d{1,2}$"); Matcher m = p.matcher(testStr); if(!m.matches()) { testStr = "2000-01-01"; } 正则说明: ^\\d{4}\\-\\d{1,2}\\-\\d{1,2}$ 这是一个纯粹的 yyyy-MM-dd格式的校验 只有完全符合这个格式 才通过 不然就会赋给一个默认值00年1月1号 如果查出来的字符串是 2018-06-19 16:40:42 肯定是不会通过的 但是可以修改为 Pattern p = Pattern.compile("(\\d{4}\\-\\d{1,2}\\-\\d{1,2})+");

Java中的字符替换

匿名 (未验证) 提交于 2019-12-02 21:52:03
public class ReplaceStr { public static void main ( String [] args ) { String str = "orange.peach.banana.tomato" ; System . out . println ( str . replace ( "." , "|" )); //按照对应项目匹配 System . out . println ( str . replaceAll ( "." , "|" )); //按照正则的方式来匹配 System . out . println ( str . replaceFirst ( "." , "|" )); //替换第一个 } } 输出结果如下 orange | peach | banana | tomato |||||||||||||||||||||||||| | range . peach . banana . tomato 转载于:https://my.oschina.net/u/580135/blog/612278 来源:51CTO 作者: chuteng3602 链接:https://blog.csdn.net/chuteng3602/article/details/100772595

正则 —— 第一次入门

被刻印的时光 ゝ 提交于 2019-12-02 16:59:21
正则 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 Nlife+a,可以匹配Nlifea,Nlifeea,Nlifeeea ...... ,+号代表前面的字符至少出现一次。 Nlife*a,可以匹配Nlifa,Nlifea,Nlifeea,Nlifeeea ...... ,*号代表前面的字符可以不出现,或者出现多次。 Nlife?a,可以匹配Nlifa,Nlifea,?代表出现或者不出现。 限定符 * —— 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。 + —— 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。 ? —— 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 、 "does" 中的 "does" 、 "doxy" 中的 "do" 。? 等价于 {0,1}。 {n} —— n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。 {n,} —— n 是一个非负整数。至少匹配n 次。例如,'o{2,

shell脚本基础和grep文本处理工具企业应用3

梦想与她 提交于 2019-12-02 16:15:57
文本处理工具: linux上文本处理三剑客 grep,egrep,fgrep:文本过滤工具(模式:pattern)工具 grep:默认支持的是基本正则表达式;-E支持扩展正则表达式,-F不支持正则表达式 egrep:默认支持的是扩展正则表达式;-G支持基本正则表达式,-F不支持正则表达式 fgrep:默认不支持正则表达式;-G支持基本正则表达式,-E支持扩展正则表达式 sed:stream editor,流编辑器,文本编辑工具 awk:linux上的实现为gawk,文本报告生成器(格式化文本) 正则表达式:Regual Expression,REGEXP 由一类特殊字符及文本字符所编写的模式,其中有些字符不表示其字面意义,而是用于表示控制或通配的功能 分两类: 基本正则表达式:BRE 扩展正则表达式:ERE 元字符:\(hello[[:space:]]\+\)\+ grep:Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查;打印匹配到的行 模式:由正则表达式的元字符及文本字符所编写出的过滤条件 正则表达式引擎: grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTERN | -f

四边形网格

早过忘川 提交于 2019-12-02 14:18:15
原文链接 四边形网格定义 四边形网格,顾名思义,它的每个网格面片是一个四边形。有时候,四边形网格里会掺杂一些三角形面片,我们把这类网格也都叫做四边形网格。三角形网格常见于逆向建模领域,比如通过三维扫描仪扫描得到的网格。四边形网格常见于正向建模系统,如3dsMax,ZBrush等。这主要是因为点云或者三角形网格转成四边形网格有一定的难度,特别是高质量的四边形网格。 正则点:内点-度数为4;边界点(非拐点(Corner))-度数为3;边界点(凸拐点)-度数为2;边界点(凹拐点)-度数为4 分类:主要是根据顶点的正则度来进行分类。如下图所示,第一类网格为正则网格,所有顶点度数为4,只有特殊拓扑结构的网格能达到正则;第二类是半正则网格,它是分片正则的;第三类是度数半正则网格,它的顶点度数绝大部分是4;最后一类是无序的四边形网格,它有很多非正则点。 四边形网格的优缺点 与三角形网格相比,四边形网格有一些优点: 特征边对齐:四边形网格的边可以很自然的与特征边进行对齐,边走向也可以很自然的与模型的几何特征走向对齐。 样条曲面和细分曲面:样条曲面和Catmull-Clark细分曲面常见的定义域就是四边形 纹理贴图:半正则的四边形网格,每个正则片可以很好的与图片对齐,有利于图片的采样精确性 同时四边形网格也有一些缺点: 四边形可能不共面 高质量的四边形网格 奇异点个数尽量少,布局合理

uipath 正则截取字符串

亡梦爱人 提交于 2019-12-02 08:16:25
str="uu=123,uu=456,uu=789,uu=whoareyou" 目的 获取123,获取字符串里uu第一个后面的数 一个是System.Text.RegularExpressions.Regex.Matches(str,"uu=\d+")执行后 获得 uu=123 另一个substring(3,上面一串.length-3) 从uu=123截取目标,从 第3个 到 整个字符串长度-3 来源: https://www.cnblogs.com/fanqiusha1988/p/11737158.html

怎样通过正则匹配IP地址

瘦欲@ 提交于 2019-12-02 06:09:29
Ipv4的地址是0.0.0.0 到 255.255.255.255, 匹配这个字段需要判断三种情况: 1. 如果第一位是0或1, 则第二位和第三位可以是0-9的任意数值: [01]\d\d 2. 如果第一位是2, 第二位是0-4, 那第三位可以是0-9的任意数值: 2[0-4]\d 3. 如果第一位是2, 第二位是5, 那第三位只能是0-5的之间的数值: 25[0-5] 上面三种情况整合起来就得到下面的正则, 前三个数后面是有一个"."的, 所以归为一组, 匹配3次, 后面三个数没有点, 原样写一份就行了. /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ 下面是测试: /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/.test("0.0.0.0"); // true /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/.test("256.0.0.0"); // false 来源: https://www.cnblogs.com/aisowe/p/11733872.html

正则的定义及语法

大城市里の小女人 提交于 2019-12-02 05:27:56
正则的定义 正则就是规则,用来操作字符串的,判断字符串格式是否正确。 正则就是用来验证字符串的。 正则写法 语法:正则字面量(字符串) var reg = // reg就可以验证字符串。 正则对象 语法:创建正则对象 对象:new RegExp(模式,修饰符); 正则对象和正则字符串的区别 (1)正则对象里:要使用双斜杠 \w ,\d, 转义时,也要双 \ (2)正则对象里:正则是以 “” 存在的 正则元字符: . 除了换行和行结束符,任意单个字符 \ w 查找单词字符。 (字母,数字,下划线) \ W 查找非单词字符。 \ d 查找数字。 \ D 查找非数字字符。 \ s 查找空白字符。 \ S 查找非空白字符 \ u4e00- \ u9fa5 匹配汉字的 \ b 匹配单词边界。 \ B 匹配非单词边界 量词 最少0次,多了不限 ,0个或多个 +最少一次 多了不限,1个或多个 ?{n} 匹配 n个 最少0个,最多1个,(0个或一个) {n,} 匹配最少 n 个 {n,m} 匹配最少n 个,最多 m 个 {,m} 匹配最多m个 定界符: $ 结束符 ^ 开始符 g 表示全局 i:不区分大小写 m:表示多行 [^abc]:就表示非的意思 ?=n 前面的字符后紧跟着n的字符串 a?=x ax ?!n 前面的字符后没有n的字符串 a?!x ab 字符类 [ abc ]

Nginx location模块整理

非 Y 不嫁゛ 提交于 2019-12-02 04:52:33
location模块 Nginx location location 指令的作用是根据用户请求的URI来执行不同的应用,URI就是根据用户请求到的网址URL进行匹配,匹配成功了进行相关的操作。 location语法 下面是官网的语法结构: Syntax: location [ = | ~ | ~* | ^~ ] uri { ... } location @name { ... } Default: — Context: server, location 官网解释翻译和理解 下面会结合官网原文进行解释,以下英文部分均从官网摘抄: http://nginx.org/en/docs/http/ngx_http_core_module.html#location (翻译的不好勿喷) Sets configuration depending on a request URI. 根据请求的URI进行配置 URI 变量是待匹配的请求字符串, A location can either be defined by a prefix string, or by a regular expression. Regular expressions are specified with the preceding “~*” modifier (for case-insensitive matching),

Python_re正则模块

大憨熊 提交于 2019-12-02 03:09:43
正则模块 sre.SRE_Match包含如下方法或属性 方法(属性) 含义 match.group(index) 获取指定组的字符串 match.__getitem__(g) 即 match[0]=match.group(0) match.groups() 获取全部的组结果 match.span(index) 获取指定匹配结果字符串在string的截取段index match.start(groupindex) 获取指定子串组的起始位置 match.stop(groupindex) 获取指定子串组的结束位置 match.re 返回re对象,包含模式 match.string 返回原字符串 方法: re.compile(p, flag=0) 该函数用于将字符串编译成正则对象,比如一个程序需要多次使用同一个正则字符串,为了提高效率可以考虑先编译 # 编译正则表达式 p = re.compile("baidu") # 匹配查找 p.search("www.baidu.com") # 不编译使用 re.search("du", "www.baidu.com") re.match(p, string, flag=0) 开头匹配,成功返回re.Match对象,不成功则返回None re.search(p, string, flag=0) 扫描字符串,成功返回re.Match对象