正则表达式
一、基本含义
1.1 正则的模式
- i 不区分大小写
- g 全局匹配,匹配整个文本
- m 多行匹配,让边界符($^)在每一行都能匹配到。如果只有全局匹配,那么边界符只会在文本的边界匹配
- s 特殊字符.也可以包含换行符(普通.不包含换行符)
1.2 普通字符
- \w 字母、数字、下划线
- \W 匹配\w之外的字符
- \s 匹配空白字符 包括空格、制表符、换页符等
- \S 匹配非空字符
- \d 匹配数字字符
二、常见匹配
2.1 匹配所有空格
[^\S\r\n]+
2.2 匹配字符后为空格的该行包含该字符的所有字符
[.+AS\s]
如匹配想取AS后的字符
rz.ysay_aydm AS C_CAUSE,
则匹配到
rz.ysay_aydm AS
2.3 匹配中文
[\u4e00-\u9fa5]
2.3 字符匹配不以某字段开头或者结尾
2.4 不以某字符串开头
^(?!str)
- ^ 判断是否是开头
- ?! 否定向前查询
2.5 不以某字符串结尾
(?<!str)$
- ?<! 否定式向后查询
- $ 是否结尾
(?:str) 非捕获组
(?=str) 肯定式向前查找
(?!str) 否定式向前查找
(?<=str) 肯定式向后查找
(?<!str) 否定式向后查找
Excel操作
一、具体的场景
1.1 生成insert语句
主要是单引号的写法
="insert into schema.table values ('"&A1&"','"&B1&"');"
=>
insert into schema.table values ('A1的数据','B1的数据');
二、语法
2.1 CONCAT 字符串拼接
参数可以有多个,字符串应当用英文双引号包含
举例:
=CONCAT("aaa",A1,"bbb")
=>假设A1格存储字符串为M
aaaMbbb
2.2 IF (CONDITION, TREE_RESULT, FALSE_RESULT) 条件判断
类似于三元表达式: result = condition?a:b
举例:
分组,然后组内加序号
=IF(A3=A2,C2+1,1)
2.3 SUBSTITUTE(
, <old_text>, <new_text>, <instance_num>) 可以替换所有匹配到的文本
= SUBSTITUTE(A2, "一", "二")
=>A2中所有的“一”替换成“二”
二班