正则详细教程系列可以看此链接的文章哦

​https://blog.51cto.com/u_12020737​​​

 

特殊单字符

元字符

说明

\b

匹配单词的开始或结束

\B

和 \b 相反

^

匹配字符串(行)的开始

$

匹配字符串(行)的结束

 

\b 的栗子

first

匹配文本

poloyy

正则表达式

\bpoloyy\b

匹配数量

1

匹配结果

poloyy

 

second

匹配文本

poloyy

正则表达式

\bpo

匹配数量

1

匹配结果

po

 

third

匹配文本

poloyy1

正则表达式

\bpo....\d\b

匹配数量

1

匹配结果

poloyy1

 

four

匹配文本

y1菠萝_A

正则表达式

\b\w.

匹配数量

2

匹配结果

y1、_A

 

总结

  • \b 其实并不匹配任何字符,它只匹配一个位置(开头,结尾)
  • 相当于单词的开头或结尾,有点类似 ^  、 $ 
  • 单词:连起来的字母、数字、下划线,但不包括汉字(如 four 的栗子 ),一般可以用元字符 \w+ 来表示

 

再来看看一个拓展的栗子

全网最易懂的正则表达式教程(5)- 断言_正则表达式教程

重点:在精确匹配某个单词时,我们使用 \b\w+\b 就可以实现了

 

行的开始或结束

和单词的边界类似,在正则中还有文本每行的开始和结束,如果要求匹配的内容要出现在一行文本开头或结尾,就可以使用 ^ 和 $ 来进行位置界定

 

怎么才算一行?

在结尾处有换行符

要注意:在计算机中,回车 \r 和换行 \n 其实是两个概念,并且在不同的平台系统上,换行符的表示也是不一样的

 

不同系统的换行符

 

^ 的栗子

first

匹配文本

菠萝_A

正则表达式

^菠.

匹配数量

1

匹配结果

菠萝

 

second

匹配文本

_123

正则表达式

^_\d

匹配数量

1

匹配结果

_1

 

总结

和 \b  不一样, ^ 是匹配行开始的任意字符,可以包括汉字

 

$ 的栗子

first

匹配文本

菠2萝_

正则表达式

\d._$

匹配数量

1

匹配结果

2萝_

 

second

匹配文本

123菠萝

正则表达式

 \b\w\d\d菠萝$ 

匹配数量

1

匹配结果

123菠萝

 

总结

和 \b 不一样, $ 是匹配行结尾的任意字符,可以包括汉字