2019-05-27 高级文本处理(二)

1 正则表达式(Regular Expression)

1.1 概念理解

正则表达式独立于特定的语言。用事先定义的特定字符、以及这些特定字符的组合,组成一个“规则字符串”,用来描述匹配一个字符串的模式。这是一个处理字符串的强大工具。

1.2 作用

  • 测试字符串内的模式
  • 识别/替换文本
  • 提取文本

2 java的正则表达式

java.util.regex包中:

  • Pattern类
  • Matcher类

常用的正则表达式

正则表达式 匹配 实例
x 指定字符x Java匹配Java
. 任意单个字符 Java匹配J..a
(ab|cd) ab或cd ten匹配t(en|im)
[abc] a、b或c Java匹配Ja[uvwx]a
[^abc] 除开a、b或c之外的任意字符 Java匹配Ja[^ars]a
[a-z] a到z Java匹配[A-Z]av[a-d]
[^a-z] 除开a到z的任意字符 Java匹配Jav[^b-d]
[a-e[m-p]] a到e或m到p Java匹配[A-G[I-M]av[a-d]
a-e&&[c-p]] a到e和c到p的交集 Java匹配[A-P]&&[I-M]]av[a-d]
下面这个\d还是\\d呢?
\d 个位数,等同于[0-9] Java2匹配"Java[\\d]"
\D 一位非数字 $Java匹配"[\\D][\\D]ava"
\w 单词字符 Java1匹配"[\\w]ava[\\w]
\W 非单词字符 $Java匹配"[\\W][\\w]ava"
\s 空白字符 "Java 2"匹配"Java\\s2"
\S 非空白字符 Java匹配"[\\S]Java"
量词符
p* 模式p的0或多次出现 aaaabb匹配"abb"
ababab匹配"(ab)
"
p+ 模式p的1或多次出现 a匹配"a+b"
able匹配"(ab)+.
"
p? 模式p的0或1次出现 Java匹配"J?Java"
Java匹配"J?ava"
p{n} 模式p的正好n次出现 Java匹配"Ja{1}"
Java不匹配".{2}"
p{n,} 模式p的至少n次出现 aaaa匹配"a{1,}"
a不匹配"a{2,}"
p{n,m} 模式p的在n到m次之间的出现次数 aaaa匹配"a{1,9}"
abb不匹配"a{2,9}bb)*"
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容