JAVA支持正则表达式,这里希望用较长的笔记,系统总结正则表达式的知识,可能会略长。
注:以下图片内容引用自《疯狂Java讲义》,P352-P359,本博客引用之,作交流学习之用。
简要概括: 正则表达式是一个强大的字符串处理工具,可以对字符串进行查找,提取,分割,替换等操作。
我的理解:正则表达式是一个用于匹配字符串的模板。
例如要匹配: “137-1234-5678” 这样格式的手机号码而不是“2222-2222”的电话号码,
或者要匹配 “ xxxx@xxxx.com”这样的邮箱地址是否有效等。
甚至,我们用的编译器的编译阶段,进行语法分析时,也需要用到正则表达式。(详见《编译原理》)
正则表达式中可以使用的合法字符串:
特殊字符串:
最有用的来了:预定义字符
有了它,我们就可以创建强大的正则表达式了:
c/wt // 表示cat,cbt,c3t,c_t等
\d\d\d\-\d\d\d\d\-\d\d\d\d //表示xxx-xxxx-xxxx格式的数字
方括号表达式也很有用!!
根据我的另一篇博文:
汉字Unicode编码表(最小值0x4e00,最大值0x952f)
所以,匹配所有中文字符的正则表达式为:
[\\u4e00-\\ufabf] \\匹配所有汉字