📜  Groovy-正则表达式

📅  最后修改于: 2020-11-04 06:41:51             🧑  作者: Mango


正则表达式是一种用于在文本中查找子字符串的模式。 Groovy本身使用〜“ regex”表达式来支持正则表达式。引号内的文字表示要比较的表达。

例如,我们可以创建一个正则表达式对象,如下所示:

def regex = ~'Groovy'

当Groovy运算符=〜在ifwhile语句中显示为谓词(表达式返回布尔值)(请参见第8章)时,左侧的String操作数与右侧的正则表达式操作数匹配。因此,以下各项均传递true值。

定义正则表达式时,可以使用以下特殊字符-

  • 有两个特殊的位置字符用于表示行的开头和结尾:脱字号(∧)和美元符号($)。

  • 正则表达式也可以包含量词。加号(+)表示一个或多个时间,应用于表达式的前一个元素。星号(*)用于表示零个或多个事件。问号(?)表示零或一次。

  • 元字符{和}用于匹配特定数量的前面字符的实例。

  • 在正则表达式中,句点符号(。)可以表示任何字符。这被描述为字符。

  • 正则表达式可以包括字符类。可以将一组字符作为元字符[和]中包含的简单字符序列来给出,如[aeiou]中所述。对于字母或数字范围,可以在[a–z]或[a–mA–M]中使用破折号。字符类的补码由方球拍中的前导插入符号表示,如[∧a–z],表示除指定字符的所有其他字符。正则表达式的一些示例如下

'Groovy' =~ 'Groovy' 
'Groovy' =~ 'oo' 
'Groovy' ==~ 'Groovy' 
'Groovy' ==~ 'oo' 
'Groovy' =~ '∧G' 
‘Groovy' =~ 'G$' 
‘Groovy' =~ 'Gro*vy' 'Groovy' =~ 'Gro{2}vy'