正则表达式是在文本中寻找子字符串的一种模式。
1、定义正则表达式
Groovy中正则表达式定义是通过 ~’正则表达式’ 定义的
def regex = ~’chese’
2、常用正则表达式
表达式 | 匹配意义 | 示例 |
^ | 行首。匹配的字符必须以指定字符串开头 |
|
| 行尾。与字符串的尾部或换行符之前的位置相匹配。不包括换行符本身 |
|
| 匹配除换行符以外的任意一个字符 |
|
| 字母和数字 |
|
| 非字母和数字。 |
|
|
|
|
| 非空字符 |
|
| 数字 |
|
|
|
|
| 指定字符范围 | 如: |
| 前面元素至少出现0次 |
|
| 前面元素至少出现1次 |
|
| 前面的元素出现m 次 |
|
| 前面的元素至少出现m 次 |
|
| 前面的元素出现至少m 次,至多n 次 |
|
| 选择,匹配其中的任何一个 | (a|b)*指a或b出现任意次 |
| 正则表达式的群组化 | (ab)* 指ab出现任意次 |
| 汉字 |
|
| 非汉字 |
|
3、运算符
1) 匹配操作符 (==~)
用于检查字符串是否匹配 返回true或false
如:
if( "abc" ==~ /abc/) { println 'true' } else{ println 'flase' } |
2) 查找操作符 (=~)
用于在字符串中查找匹配的子字符串
def string = "id=12345" def matcher = string =~ /id=/ def id = matcher.replaceAll('') println id //运行结果为:12345 |