栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

博客(二):正则表达式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

博客(二):正则表达式

一、基本概念

         正则表达式是一个字符串,用来描述匹配一个字符串集合的模式。可以用来检查一个串是否匹配某种子串、将匹配的子串替换或者从某个串中拆分符合某个条件的子串等。正则表达式由字面值字符和特殊符号组成。

    例如:

  • runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表前面的字符必须至少出现一次(1次或多次)。

  • runoo*b,可以匹配 runob、runoob、runoooooob 等,* 号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。

     

二、  正则表达式语法

注:反斜杠是一种特殊的字符,在字符串中开始转义序列。因此Java中需要使用  来表示 

  1. 单词字符是任何的字母,数字或者下划线字符
  2. 六个条目*、+、 ?、{n}、  {n, }、{n,m}称为量词符。需要注意的是,不可以在重复量词符中使用空白。A{3,6}不能写成逗号后面有一个空白符的A{3, 6}。
  3. 可以使用括号来将模式进行分组。(ab){3}匹配ababab,但是ab{3}匹配abbb。
  4. 单词字符是任何的字母,数字或者下划线字符。w等同于[a-z[A-Z][0-9]_]或者简化为[a-Za-z0-9_],等同于[^a-Za-z0-9]。
三、匹配字符串

"Java is fun".matches("Java.*")-->true;

"Java is cool".matches("Java.*")-->true;

"Java is powerful".matches("Java.*")-->true;

语句中的"Java.*"是一个正则表达式。它是一种字符串模式。这种模式是从Java开始,后面跟0个或者多个字符串。而"Java is fun"符合这种模式,所以返回true。其中,子字符串.*匹配0或者多个任意字符。

四、替换、拆分字符串

String类也包含了replaceAll、replaceFirst和split方法,用于替换和拆分字符串

  • replaceAll方法替换所有匹配的子字符串
  • replaceFirst方法替换第一个匹配的子字符串

  •  split(regex)方法使用匹配的分隔符将一个字符串拆分成子字符串
  • split(regex,limit)方法,limit参数确定模式匹配多少次。如果limit<=0,split(regex,limit)等同于split(regex);如果limit>0,模式最多匹配limit-1次。

         注:默认情况下,量词符都会尽可能的匹配最多次,可以通过在后面添加问号(?)来使得量词符匹配尽可能少的次数。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/358149.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号