ruby and watir学习之_正则表达式

ruby正则表达式:

表达式/b/在匹配字符“abcd”时,匹配的内容是“b”

表达式/b_/在匹配字符“ab_cd”时,匹配的内容是“b_”

1. 转义符

特殊字符

\r\n

代表回车和换行符

\t

制表符

\\

代表“\”

\xXX

代表标号在 0~255 范围的字符

\uXXXX

任何字符可以使用“\u”加上其编号的 4 位十六进制数表示

特殊语义

^

匹配输入字符串的开始位置

$

匹配输入字符串的结尾位置

( )

标记一个子表达式的开始和结束位置

[ ]

用来自定义能给匹配“多种字符”的表达式

{ }

修饰匹配次数的符号

.

匹配除了换行符(\n)外的任意一个字符

?

修饰匹配次数为 0 次或 1 次

+

修饰匹配次数至少为 1 次

*

修饰匹配次数至少为 0 次或任意次

2. 匹配多种字符

表达式

可匹配内容

多字符匹配

\d

匹配任意一个数字,即:0~9

\w

匹配任意一个字母、数字或下划线,即:A~Z、a~z、0~9、_

\s

匹配任意一个空格、制表符、换页符等空白字符

\S

匹配所有非空字符

\D

匹配所有非数字字符

\W

匹配所有字母、数字或下划线以外的字符

\B

匹配非单词边界

3. 修饰匹配次数的方法

表达式

可匹配内容

匹配次数

{n}

表达式重复 n 次,如:/\w{2}/相当于/\w\w/

修饰符

{m,n}

表达式至少重复 m 次,最多重复 n 次

{m,}

表达式至少重复 m 次

?

修饰匹配次数为 0 次或 1 次

+

修饰匹配次数至少为 1 次

*

修饰匹配次数至少为 0 次或任意次

4. 匹配模式

表达式

可匹配内容

ruby 支持

Ignorecase

该模式下正则表达式不区分大小写

Multiline

该模式下正则表达式可以匹配多行

ruby 不支持

Singleline

该模式下小数点可以匹配包括换行符在内的所有字符

Global

主要在替换表达式时起作用

配置为 Global 表示替换所有的匹配