黑马程序员——正则表达式
来源:互联网 发布:哪些女装淘宝店铺推荐 编辑:程序博客网 时间:2024/06/03 03:31
------- android培训、java培训、期待与您交流! ----------
1、概述:正则表达式:符合一定规则的表达式。
作用:用于专门操作字符串。
特点:用于一些特定的符号来表示一些代码操作。这样就简化书写。
好处:可以简化对字符串的复杂操作。
弊端:符号定义越多,正则越长,阅读性越差。
2、常用正则表达式的构造摘要:
字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
注意:字符类包括数字、字母、各种特殊符号,遇到否定,别丢了字符。
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
这个里面包括'_',别丢了
\W 非单词字符:[^\w]
注意:根据 Java Language Specification 的要求,Java 源代码的字符串中的反斜线被解释为 Unicode 转义或其他字符转义。因此必须在字符串字面值中使用两个反斜线,表示正则表达式受到保护,不被 Java 字节码编译器解释。例如,当解释为正则表达式时,字符串字面值 "\b" 与单个退格字符匹配,而 "\\b" 与单词边界匹配。字符串字面值 "\(hello\)" 是非法的,将导致编译时错误;要与字符串 (hello) 匹配,必须使用字符串字面值 "\\(hello\\)"。当切割字符'.'时表示regex="\\."
Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
以上三个可总结为:零次、一次、多次(包括一次)的任意两个组合。
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
为了可以让规则的结果被重用,可以将规则封装成一个组。用()完成。组的出现都有编号。从1开始。 想要使用已有的组可以通过\n(n就是组的编号)的形式来获取。例如"(.)\\1"表示叠词,1是组(.)的编号,多个重复字符"(.)\\1+"。
捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:
1 ((A)(B(C)))
2 \A
3 (B(C))
4 (C)
3、具体操作功能:
匹配:String matches方法。用规则匹配整个字符串,只要有一处不符合规则,就匹配结束,返回false。
切割:String split();
替换:String replaceAll(regex,str); 如果regex中有定义组,可以在第二参数中通过$符号获取正则表达式中的已有的组。$n表示第n个组。
获取:将字符串中的符合规则的子串取出。
获取操作步骤:
1、将正则表达式封装成对象。
2、让正则对象和要操作的字符串相关联。
3、关联后,获取正则匹配引擎。
4、通过引擎对符合规则的子串进行操作,比如取出。
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员———正则表达式
- 黑马程序员———正则表达式
- 黑马程序员———正则表达式
- 黑马程序员———正则表达式
- 黑马程序员——正则表达式
- 黑马程序员——正则表达式
- 黑马程序员——正则表达式
- 黑马程序员——正则表达式
- 黑马程序员Java——正则表达式
- 注册表禁用cmd
- Runnable、Callable、Executor、ExecutorService、ScheduledExecutorService、Executors
- 注册表全面禁用控制面板
- 运行tomcat7w.exe,提示:指定的服务未安装
- hdoj 1248 完全背包问题
- 黑马程序员——正则表达式
- 注册表中关闭组策略
- ios即时通讯客户端开发之-mac上安装MySQL
- poj 3045 Cow Acrobats
- Android系统回顾(二):Android基础知识
- iOS shareSDK 实现第三方登陆参考资料
- acer(宏基) Aspire E1-472G ubuntu-12.04下安装无线网卡驱动
- XMPP聊天之Openfire 的安装和配置---Mac OS
- 如何实现一个可靠的IM即时通讯应用