加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

深入入门正则表达式(java) - 2 - 基本实例

发布时间:2020-12-13 19:54:09 所属栏目:百科 来源:网络整理
导读:这里例子都是从《正则表达式经典实例》中选取的 书中的第5、6章每个例子我都独立完成了一遍,觉得基础的会拿出来给大家分享 我把长度为0的匹配结果看作一个缝隙,比如“b”是单词之间的缝隙,“^”是字符与开头的缝隙…… A.单词 1.查找单词cat 正则:bcat

这里例子都是从《正则表达式经典实例》中选取的 书中的第5、6章每个例子我都独立完成了一遍,觉得基础的会拿出来给大家分享 我把长度为0的匹配结果看作一个缝隙,比如“b”是单词之间的缝隙,“^”是字符与开头的缝隙…… A.单词 1.查找单词cat 正则:bcatb 开始的例子总是很简单,之前我们讲过了b可以找到单词的边界,b会匹配下面3种位置 1.如果目标文本第一个字符是单词字符,则匹配第一个字符之前的位置 2.如果目标文本最后一个字符是单词字符,则匹配最后一个字符之后的位置 3.如果两个连续的字符中一个是单词字符一个不是,那么匹配中间位置 注意:java的b是支持Unicode字符的。 知识点:单词分割符 2.查找多个单词之一,如:匹配one或者two或three 正则:b(?:one|two|three)b 这个也很容易理解,使用非捕获括号是为了提高效率,不让程序单独记住括号内捕获的内容 当然,你可以这么写“b(?:one|t(?:wo|hree))b” ,似乎只是为了让人更加迷惑。。。 知识点:单词分割符,非捕获括号,选择结构 3.查找相似单词,如:Steven、Steve、Stephen 正则:bSte(?:ven?|phen)b 这几个单词都是以Ste开头,后面公共的部分就只有一个e了,最后的n可有可无。如果你这么想,那你的正则很有可能写成下面这样 bSte(?:v|ph)en?b 不仔细看还真容易被糊弄过去,当然,上面3中形式都可以匹配,但是,它是不是也能匹配Stephe呢? 知识点:单词分割符 ,非捕获括号,选择结构 ,量词(贪婪匹配)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读