正则表达式
查找字符串时并没有被查找模式的完整信息。 查找模式:部分子字符串的查找问题。 模式描述: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"; 闭包简写 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(") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |