groovy正则表达式

正则表达式是在文本中寻找子字符串的一种模式。

  • 定义正则表达式

    Groovy中正则表达式定义是通过 ~'正则表达式'定义的
    def regex =~'chese'

  • 常用正则表达式
表达式 匹配意义 示例
^ 常用正则表达式
$ 行尾。与字符串的尾部或换行符之前的位置相匹配。不包括换行符本身
. 匹配除换行符以外的任意一个字符
\w 字母和数字 [0-9A-Za-z]
\W 非字母和数字。\w以外的单个字符
\s 空字符 [\t\n\r\f]
\S 非空字符
\d 数字 [0-9]
\D 非数字
[] 指定字符范围 如:[0-9]
* 前面元素至少出现0次
+ 前面元素至少出现1次
{m} 前面的元素出现m 次
{m,} 前面的元素至少出现m 次
{m,n} 前面的元素出现至少m 次,至多n 次
| 选择,匹配其中的任何一个 (a|b)*指a或b出现任意次
() 正则表达式的群组化 (ab)* 指ab出现任意次
[\u4E00-\u9FA5] 汉字
[^\u4E00-\u9FA5] 非汉字
  • 运算符

    1. 匹配操作符(==~)

    用于检查字符串是否匹配 返回true或false
    如:

    if( "abc" ==~ /abc/)
    {
        println 'true'
    }
        else
    {
        println 'flase'
    }
    
    1. 查找操作符(=~)

    用于在字符串中查找匹配的子字符串

    def string = "id=12345"
    def matcher = string =~ /id=/
    def id = matcher.replaceAll('')
    println id  //运行结果为:12345
    

转自:https://www.cnblogs.com/sky_online/archive/2010/05/14/1735712.html

发表回复