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

正则表达式

发布时间:2020-12-13 22:37:50 所属栏目:百科 来源:网络整理
导读:查找字符串时并没有被查找模式的完整信息。 查找模式:部分子字符串的查找问题。 模式描述:3种基本操作和作为操作的字符组成。 基本操作 1.连接操作:写出AB,则指定了{AB},它含有一个由2个字符组成的字符串,由A和B连接而成。 2.或操作:多种可能的匹配,

查找字符串时并没有被查找模式的完整信息。

查找模式:部分子字符串的查找问题。

模式描述:3种基本操作和作为操作的字符组成。

基本操作

1.连接操作:写出AB,则指定了{AB},它含有一个由2个字符组成的字符串,由A和B连接而成。

2.或操作:多种可能的匹配,写出A|B,则指定了{A,B},它含有A或者B。

3.闭包操作:部分重复任意的次数。A(B|C)*D,匹配的字符串可能为:ABD,ABBD,ABCD,ABCCBD。

括号改变默认的优先级。C(AC|B)D,指定的匹配字符串集合{CACD,CBD}。

字符集:缩列写法。记住都是或操作,一个字符。

1.通配符.:点表示一个能够表示任意字符的通配符。A.B

2.指定的集合[]:包含在[]中的任意一个字符。[ABD]

3.范围的集合:包含在[]中,由-分割的任意一个字符。[A-Z][0-9]

4.补集:包含在[]中,首字母为^,表示的是任意非该括号内的任意一个字符。结尾$

此外,动态正则表达式("+Pattern.compile(string)+")中,变量string

String a = "zju";
Pattern c = Pattern.compile(a);
System.out.print("helloz".matches("hello["+c+"]"));
System.out.print("abcdede".matches(".*de"));

闭包简写

1.至少重复一次+:(AB)+ == (AB)(AB)*

2.重复0或者1次?:(AB)? == 空集合|AB

3.重复指定次数{}:(AB){3} == (AB)(AB)(AB) == ABABAB

4.指定重复范围的次数{1-3}:(AB){1-2} == (AB)|(AB)(AB) == AB|ABAB

转义序列

“.” "*" "(" "[" "|"等都用来构造正则表达式的元字符。

使用加上单个元字符来表示字母表中的该字符。

其他转义字符:t表示一个制表符,n表示一个换行符,s表示任意空白字符,等。

应用场景

字符串查找:.*ZJU.* helloZJUhello

电话号码:([0-9]{3}) [0-9]{3}-[0-9]{4} (800) 456-5678

电子邮箱:[a-z]+@([a-z]+.)+(edu|com) zs@cs.edu

string.replace("","")

string.replaceall(",")

string.replacefirst('','')

string.matches(")

(编辑:李大同)

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

    推荐文章
      热点阅读