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