Clojure - 正则表达式

正则表达式是一种用于查找文本中子字符串的模式。 正则表达式在多种编程语言中都有使用,在LISP类型的编程语言中使用较多。

以下是正则表达式的示例。

//d+

上面的正则表达式用于查找字符串中再次出现的数字。 // 字符用于确保字符"d"和"+"用于表示正则表达式。

一般来说,正则表达式适用以下一组规则。

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

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

  • 元字符 { and } 用于匹配前一个字符的特定数量的实例。

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

  • 正则表达式可以包含字符类。 一组字符可以作为包含在元字符 [and] 中的简单字符序列给出,如 [aeiou] 中所示。 对于字母或数字范围,您可以使用破折号分隔符,如 [a–z] 或 [a–mA–M]。 字符类的补码由方括号内的前导插入符号表示,如 [∧a–z] 中所示,并表示除指定字符之外的所有字符。

以下方法可用于正则表达式。

序号 方法和说明
1 re-pattern

返回 java.util.regex.Pattern 的实例。 然后将其用于进一步的模式匹配方法。

2 refind

使用 java.util.regex.Matcher.find() 返回字符串到模式的下一个正则表达式匹配(如果有)

3 replace

replace 函数用于将字符串中的子字符串替换为新的字符串值。 子字符串的搜索是通过使用模式来完成的。

4 replace-first

replace 函数用于将字符串中的子字符串替换为新的字符串值,但仅限于该子字符串第一次出现。 子字符串的搜索是通过使用模式来完成的。