基本正则表达式

来源:互联网 发布:mac mysql 编辑:程序博客网 时间:2024/06/05 20:59

基本正则表达式

(1)^ 行开始符

    例如:"^jacline"匹配所有以jacline开始的行

(2)$ 行结束符

    例如:"jacline$"匹配所有以jacline结束的行

(3). 匹配任意一个字符

    例如:jacl.ne可以匹配jacline、jaclnne等

(4)[]匹配其中一个

    例如:[Jj]可以匹配Jacline或者jacline其中一个,或者Jalinzi等

(5)[^]不匹配[]中的任何一个字符

    例如:[^TJ]he不匹配The、Jhe,但可以匹配the、she等

(6)[-]匹配固定范围内的字符

    例如:[a-d]he可以匹配ahe或者bhe、che、dhe,但不可以匹配ehe、fhe·····The等

(7)?匹配0次或者1次

    例如:t\?he可以表示he或者the

(8)+至少匹配一次

    例如:J+iang可以匹配Jiang或者JJiang、JJJiang···,但不能匹配iang

(9)*匹配0次或多次

    例如:S*park可以匹配park或者Spark、SSpark、SSSpark等

(10){n},匹配n次

    例如:[A-Z]{3},匹配任意3个大写字母,等同于[A-Z][A-Z][A-Z]

(11){n,}至少匹配n次

    例如:{a-z}{2},至少匹配2个小写字母,等同于[a-z][a-z]······

(12){n,m}至少匹配n次,至多匹配m次

    例如:[A-Z][a-z]{2,3},表示首字母大写,单词长度为3或者4的单词,可以匹配She、Helo,但不能匹配He、Hello

(13)()匹配一组字符

    例如:Sp(ar)\?k ,可以匹配Spark、Spk、Spak、Sprk

(14)\ 转义字符

    对于特殊字符需要转义的有:?、+、.、()、{}

(15)URL匹配格式

[A-Za-z]*://[A-Za-z]*\.\(\([A-Za-z]*\)\.\?\)*
http://spark.apache.org
本文参考该链接内容,较之简化:http://itfish.net/article/49239.html

2016年1月8号,补充scala中遇到的正则表达式:

(1) 相关类 scala.util.matching.Regex

(2) 通过String的r方法来构造regex,例如:"""([A-Z]+) ([a-z]+)""".r

(3) 正则表达式一般配合case运用

我发现了一个比较好的学习正则表达式的网站:http://www.jb51.net/tools/zhengze.html


0 0
原创粉丝点击