正则表达式简介ITeye - 牛牛娱乐

正则表达式简介ITeye

2019-01-12 04:17:24 | 作者: 昆琦 | 标签: 字符,方位,一个 | 浏览: 759

正则表达式
1. 概念
契合必定规矩的表达式。

2. 效果
用于专门操作字符串。

3. 特色
用一些特定的符号来表明一些代码操作。这样就简化了书写,所以学习正则表达式便是学习一下特殊符号的运用。

4. 优点
能够简化对字符串的杂乱操作。
5. 坏处
符号界说越多,正则越长,则可读性越差

6. 契合介绍


 规矩:
(1) 字符
规矩 阐明
x 校验一个方位上的字符,字符 x
\\ 校验一个方位上的字符,反斜线字符
\0n 校验一个方位上的字符,带有八进制值 0 的字符 n (0 = n = 7)
\0nn 校验一个方位上的字符,带有八进制值 0 的字符 nn (0 = n = 7)
\0mnn 校验一个方位上的字符,带有八进制值 0 的字符 mnn(0 = m = 3、0 = n = 7)
\xhh 校验一个方位上的字符,带有十六进制值 0x 的字符 hh
\uhhhh 校验一个方位上的字符,带有十六进制值 0x 的字符 hhhh
\t 校验一个方位上的字符,制表符 (\u0009)
\n 校验一个方位上的字符,新行(换行)符 (\u000A)
\r 校验一个方位上的字符,回车符 (\u000D)
\f 校验一个方位上的字符,换页符 (\u000C)
\a 校验一个方位上的字符,报警 (bell) 符 (\u0007)
\e 校验一个方位上的字符,转义符 (\u001B)
\cx 校验一个方位上的字符,对应于 x 的控制符

(2) 字符类

规矩 阐明
[abc] 校验一个方位上的字符,指定这方位上的字符只能是a或许b或许c
[^abc] 校验一个方位上的字符,指定这方位上的字符只能是除了a或许b或许c的其他字母
[a-zA-Z] 校验一个方位上的字符,指定这方位上的字符只能是字母,即规模在a-z之间和A-Z之间
[a-d[m-p]] 校验一个方位上的字符,指定这方位上的字符是a到d或m到p即[a-dm-p](并集)
[a-z [def]] 校验一个方位上的字符,指定这方位上的字符是d、e 或 f(交集)
[a-z [^bc]] 校验一个方位上的字符,指定这方位上的字符是a 到 z,除了 b 和 c:[ad-z](减去)
[a-z [^m-p]] 校验一个方位上的字符,指定这方位上的字符是a 到 z,而非 m 到 p:[a-lq-z](减去)

以上规矩只能是校验一个方位上的字符,如[abc]指的是长度为1的字符有必要是a或b或c中的一个;如[a-z][0-9]指的是长度为2的字符串,榜首个字符有必要为小写字母,第二个字符有必要为数字。规矩中每个[](中括号)只代表一个方位上的字符规矩。

(3) 预界说字符
规矩 阐明
. 任何字符(与行完毕符或许匹配也或许不匹配)

\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r][制表符、回车符、女人标识符、换页符、换行符]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9](表明单词字符,及里边包含字母(大小写)、数字、下划线)
\W 非单词字符:[^\w]

以上预界说符的效果是都只是描绘一个方位上的字符规矩,其意图是为了简化“字符类”规矩的写法
其实预界说符都是带反斜杠的\,在java中因为反斜杠会把后边的字符转义了,所以要想匹配成功,就应该写两个反斜杠即\\,将其间的一个反斜杠实在表现出来。

 规模(数量词)

规矩 阐明
X? X,一次或一次也没有
X* X,零次或屡次
X+ X,一次或屡次
X{n} X,刚好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,可是不超越 m 次

其间X表明的是上一节所描绘的规矩,大括号{}表明规模或数量

其实正则表达式便是由详细字符如字符a、详细字符串如http、字符类规矩如[abc]、预界说规矩如[\d]的组成,再加上数量词组合而成。其间字符、字符串、规矩表明字母应该取值的规模,而数量词则表明字母呈现的次数。

7. 详细操作功用
(1) 匹配
String的 matches(String regex)办法,用规矩匹配整个字符串,只需有一处不契合规矩,则匹配完毕,回来false。
(2) 切开
String的split(String regex)办法
如:字符串sdfasd.asdfawe.wewet.ggg则不能直接用“.”来切割这个字符串,有必要要运用//. 在正则表达式中两个斜杠加.才表达正则表达式本身的这个点效劳号,所以要切割就有必要//.来切割字符串sdfasd.asdfawe.wewet.ggg
8. 组
为了能够让规矩的成果被重用,能够将规矩分装成一个组,用( )将规矩括起来,此刻组的呈现就都有了编号,编号从1开端,想要运用已有的组能够经过\n(n便是组的编号)的方式来获取。如:叠词:wecksgggwsdklqqdsdsdffffasddfyyyyasdd要想按字母相同的截取字符串就得这么设置规矩:“.(1)+”;

组和捕获
捕获组能够经过从左到右核算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:
1  ((A)(B(C)))
2  \A
3  (B(C))
4  (C)
组零一直代表整个表达式。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表牛牛娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2

    第02章 根底中心ITeye

    目标,根底,中心
  • 3
  • 4
  • 5

    Java中字符串的使用ITeye

    字符串,字符,比较
  • 6
  • 7

    UTLITeye

    数据,目录,文件
  • 8
  • 9
  • 10

    java与函数式编程ITeye

    函数,编程,一些