正则表达式培训课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9
三、使用场景
(2).截取字符串以CN_开头,以.mtl之前的内容结尾 var matchReg = /CN_.*?(?=.mtl)/gi; console.log(strMatch.match(matchReg));//输出 CN_CM_SHANGHAI_24709063_M(?=.mtl) 表示以.mtl结尾的前面 字 符串,不包含.mtl (3).截取字符串CN_和.mtl之间的内容(不包含CN_和.mtl) var matchReg = /(?<=CN_).*?(?=.mtl)/; console.log(strMatch.match(matchReg));//输出 CM_SHANGHAI_24709063_M(?<=CN_)表示获取CN_之后的字符 串 。不包含CN_ (4).同理,获得CN_之后(不包括CN_), .mtl之前的。(包括.mtl)的字符串 方法 var matchReg = /(?<=CN_).*?\.mtl/; console.log(strMatch.match(matchReg));//输出 CM_SHANGHAI_24709063_M.mtl
7
三、使用场景
4. 根据正则表达式定义规则截取字符串
var strMatch = “-rw-r--r--. 1 root root 114769 Apr 26 15:39 CN_CM_SHANGHAI_24709063_M.mtl -rw-r--r--. 1 root root 2879642 Apr 26 15:39 CN_CM_SHANGHAI_2470190623_Q.obj”;
6
三、使用场景
3. 根据正则表达式定义规则分割字符串 var strPSw ="C:\\Users\\qiangjie09\\Desktop\\正则表达式培训材料";
1.按照\\将字符串分割成一个数组 var strPSw ="C:\\Users\\qiangjie09\\Desktop\\正则表达式培训 材料"; var reg = /\\/ig; var arr = strPSw.split(reg);
– 根据正则表达式定义规则截取字符串。
4
三、使用场景
1.验证表达式是否匹配字符串
1.用户名输入是否合法 2.邮箱格式正确 3.手机号正确 4.密码输入规范
5
三、使用场景
2.替换给定字符串中匹配给定正则表达式的子字符串 1.将字符串中的数字替换成*
var strPSw ="123ahb46bfa"; var reg = /[0-9]/ig; strPSw = strPSw.replace(reg,'*');
1.截取字符串中以CN_开头.mtl结尾的部分(包含开头和结尾) 2.截取字符串以CN_开头,以.mtl之前的内容结尾 3.截取字符串CN_和.mtl之间的内容(不包含CN_和.mtl) 4.获得CN_之后(不包括CN_), .mtl之前的。(包括.mtl)的字符串方法 5.输出以CN_开头,.mtl或者.obj结尾的字符串 6.输出以CN_开头,以.mtl或者.obj结尾之前的内容
10
三、使用场景
(5).输出以CN_开头,.mtl或者.obj结尾的字符串 var matchReg = /CN_.*?(.mtl|.obj)/; console.log(strMatch.match(matchReg));//输出 CN_CM_SHANGHAI_24709063_M.mtl和 CN_CM_SHANGHAI_2470190623_Q.obj (6).输出以CN_开头,以.mtl或者.obj结尾之前的内容 var matchReg = /CN_.*?(?=(.mtl|.obj))/; console.log(strMatch.match(matchReg));//输出 CN_CM_SHANGHAI_24709063_M和 CN_CM_SHANGHAI_2470190623_Q
8
三、使用场景
(1).截取字符串中以CN_开头.mtl结尾的部分(包含开头和结尾) var matchReg = /CN_.*?\.mtl/gi; console.log(strMatch.match(matchReg));//输出 CN_CM_SHANGHAI_24709063_M.mtl 这里 .表示除换行符\n之外的任意字符 *匹配前面的子表达式0次或多次 ?匹配前面的子表达式零次或一次,或指明一个非贪婪限定符 \.是匹配. g全局匹配 i不区分大小写
12
四、总结
1.正则表达式: 对字符串进行操作的逻辑公式 2.编程中使用正则表达式的常见场景:
– 验证表达式是否匹配整个字符串。
– 验证表达式是否可以匹配字符串的子字符串。
– 返回给定字符串中匹配给定正则表达式的所有子字符串。 – 替换给定字符串中匹配给定正则表达式的子字符串。 – 根据正则表达式定义规则获取字符串。
13
2
二、目的
给定一个正则表达式和另一个字符串,
我们可以达到如下的目的: 1. 给定的字符串是否符合正则表达式的过滤逻辑
(称作“匹配”):
2. 可以通过正则表达式,从字符串中获取我们想 要的特定部分。
3
三、使用场景
• 编程中使用正则表达式的常见情况:
– 验证表达式是否匹配整个字符串。 – 验证表达式是否可以匹配字符串的子字符串。 – 返回给定字符串中匹配给定正则表达式的所有子字符串。 – 替换给定字符串中匹配给定正则表达式的子字符串。
11
三、使用场景
5. SQL语句还可以搭配正则表达式作为查询条件,很是有用。 ห้องสมุดไป่ตู้EGEXP_LIKE(匹配)
REGEXP_INSTR (包含)
REGEXP_REPLACE(替换) REGEXP_SUBSTR(提取) 1.查询站内隔离开关表中设备名称包含4XXX(XXX代表数字)的开关 2.查询站内隔离开关表中设备名称包含4XXX/4XX-X(XXX代表数字)的开关 3.将第1条查询出来的隔离开关的运行编号刷成4XXX 1. select * from t_tx_znyc_glkg where REGEXP_LIKE(sbmc,‘4[0-9]{3}\D’); 2. select * from t_tx_znyc_glkg where REGEXP_LIKE(sbmc,'4[0-9]{2}\-{0,1}[09]{1}\D'); 3. update t_tx_znyc_glkg set yxbh = regexp_substr(sbmc,'4[0-9]{3}') where REGEXP_LIKE(sbmc,'4[0-9]{3}\D');
正则表达式使用场景举例
2019年1月
主讲人:
一、什么是正则表达式
string reg = /[0-9]/;
正则表达式,又称正规表示法,是对字符串操作 的一种逻辑公式。正则表达式可以检测给定的字符串 是否符合我们定义的逻辑,也可以从字符串中获取我 们想要的特定部分。它可以迅速地用极简单的方式达
到字符串的复杂控制。
相关文档
最新文档