Flex正则表达式中具有抽象意义的特殊字符

上节我们介绍了Flex正则表达式的规则,这里和大家分享一下Flex正则表达式中一些代表抽象意义的特殊符号的用法,相信本文介绍一定会让你有所收获。

Flex正则表达式中一些代表抽象意义的特殊符号

◆一些符号在Flex正则表达式中代表抽象的特殊意义:

表达式作用

^
与字符串开始的地方匹配,不匹配任何字符

$
与字符串结束的地方匹配,不匹配任何字符

\b
匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符

◆进一步的文字说明仍然比较抽象,因此,举例帮助大家理解Flex正则表达式中特殊符号的意义。

举例1:表达式"^aaa"在匹配"xxxaaaxxx"时,匹配结果是:失败。因为"^"要求与字符串开始的地方匹配,因此,只有当"aaa"位于字符串的开头的时候,"^aaa"才能匹配,比如:"aaaxxxxxx"。

举例2:表达式"aaa$"在匹配"xxxaaaxxx"时,匹配结果是:失败。因为"$"要求与字符串结束的地方匹配,因此,只有当"aaa"位于字符串的结尾的时候,"aaa$"才能匹配,比如:"xxxxxxaaa"。

举例3:表达式".\b."在匹配"@@@abc"时,匹配结果是:成功;匹配到的内容是:"@a";匹配到的位置是:开始于2,结束于4。
进一步说明:"\b"与"^"和"$"类似,本身不匹配任何字符,但是它要求它在匹配结果中所处位置的左右两边,其中一边是"\w"范围,另一边是非"\w"的范围。

举例4:表达式"\bend\b"在匹配"weekend,endfor,end"时,匹配结果是:成功;匹配到的内容是:"end";匹配到的位置是:开始于15,结束于18。

◆一些符号可以影响Flex正则表达式内部的子表达式之间的关系:

表达式作用

|左右两边表达式之间"或"关系,匹配左边或者右边()

(1).在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰

(2).取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到

举例5:表达式"Tom|Jack"在匹配字符串"I'mTom,heisJack"时,匹配结果是:成功;匹配到的内容是:"Tom";匹配到的位置是:开始于4,结束于7。匹配下一个时,匹配结果是:成功;匹配到的内容是:"Jack";匹配到的位置时:开始于15,结束于19。

相关推荐