欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

工作中用到的正则表达式

程序员文章站 2022-04-29 16:44:55
...

1. 概述

只是记录平时使用正则表达式遇到的问题和找到的解决方法。

2. 正则表达式基础

待补充。

3. 问题实战

3.1 查找特定字符开始和结束的字符串

需要把如下内容中的时间部分替换为NULL

INSERT INTO `t_sys_dict` VALUES (NULL, '船舶类型', 'ship_type', 0, 26132579514056817, '2019-06-05 10:12:03', 26157510138265607, '2019-06-06 15:14:56', '船舶类型字典');
INSERT INTO `t_sys_dict` VALUES (NULL, '所属区域', 'ship_region', 0, 26132579514056817, '2019-06-05 15:05:24', 26157510138265607, '2019-06-14 10:54:26', '船舶所在区域');

如果使用这个正则去匹配:

'2019.*'

得到的结果是到整个行末,没有在匹配到第一个分号后就停下来,应该使用的正则表达式为:

'2019.*?'

这里问号的作用是:

当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”。“非贪心的”模式匹配搜索到的、尽可能短的字符串,而默认的“贪心的”模式匹配搜索到的、尽可能长的字符串。例如,在字符串“oooo”中,“o+?”只匹配单个“o”,而“o+”匹配所有“o”。

4. 参考文档

  1. 正则匹配 符合以什么开头以什么结尾的