正则表达式 基础专题

参考:

https://juejin.im/post/5965943ff265da6c30653879

http://blog.didispace.com/regular-expression-all/

第1章 正则表达式字符匹配

惰性匹配:

/\d{2,5}?/表示匹配2次就够,使用:量词后面加个问号

 

第2章 正则表达式位置

^(开头) $(结尾) \b(单词边界 \B(非单词边界) (?=p) (p前面的位置)  (?!p)

 

第3章 正则表达式括号

正则替换:

"2017-06-12".replace(/(\d{4})-(\d{2})-(\d{2})/, "$2/$3/$1");

或者

"2017-06-12".replace(/(\d{4})-(\d{2})-(\d{2})/, function(match, year, month, day) {
	return month + "/" + day + "/" + year;
});

正则提取:

"2017-06-12".match(/(\d{4})-(\d{2})-(\d{2})/) // => ["2017-06-12", "2017", "06", "12", index: 0, input: "2017-06-12"]

反向引用:

/\d{4}(-|\/|\.)\d{2}\1\d{2}/.test("2016-06/12") // false  \1引用(-|\/|\.)

非捕获分组:

"ababa abbb ababab".match(/(?:ab)+/g)  // => ["abab", "ab", "ababab"] (?:ab)为非捕获组

第4章:正则表达式回溯法原理

一句话就是匹配到结尾发现不满足正则表达式, (若已有回退则回退至回退前的上一步)直到满足条件结束

第5章 正则表达式的拆分

竖杠“|”,的优先级最低

1.转义符 \
2.括号和方括号 (...)(?:...)(?=...)(?!...)[...]
3.量词限定符 {m}{m,n}{m,}?*+
4.位置和序列 ^ 、$、 \元字符、 一般字符
5. 管道符(竖杠)|

上面操作符的优先级从上至下,由高到低。

 

辅助工具:

http://www.regexper.com/

https://regexr.com/

 

第6章 正则表达式的构建

其它:

正则字符拼接:

new RegExp('[' + Object.keys(escapeChars).join('') +']', 'g')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《韩顺平讲java》中的正则表达式专题课件是为了帮助学习者理解和掌握Java中的正则表达式知识而准备的教学资料。 正则表达式是一种用来描述、匹配和处理字符串的强大工具,它在文本处理、表单验证、数据提取等方面有着广泛的应用。讲解正则表达式的课件从基础开始,梳理了正则表达式的语法规则和常用的模式匹配符号,然后通过实例演示了如何使用正则表达式进行字符串的匹配、替换和提取等操作。 课件首先介绍了正则表达式的基本概念和使用场景,然后详细讲解了各种元字符、量词、字符类等在正则表达式中的作用和应用方法。同时,课件也提供了大量的实例来加深学习者的理解和应用能力。 在课程的实战部分,课件给出了一些常见的正则表达式应用场景,如匹配邮箱、手机号码、身份证号等。通过这些实例的讲解,学习者可以更好地掌握正则表达式的使用技巧和注意事项。 此外,课件还介绍了Java中的正则表达式API,包括Pattern类和Matcher类的使用方法,以及相关的常用方法和注意事项。学习者可以通过对这些API的学习和练习,进一步提升自己在正则表达式的应用能力。 总之,《韩顺平讲java》中的正则表达式专题课件通过详细讲解和实例演示,帮助学习者全面了解和掌握Java中的正则表达式知识,提升其在字符串处理方面的实际应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值