正则表达式 \B 是啥意思? 怎么用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式 \B 是啥意思? 怎么用?相关的知识,希望对你有一定的参考价值。

如题

回答的好,补分50

\b代表字与字中间那个看不见的东西,如

here is a word
那么,这句中有好几个\b, 每个单词的前后都有一个\b.

所以你用 \bhere\b 可以匹配上面这个here,但如果here 不是一个单词,而是一个单词的一部分,如 adheread, 这样的话,用here 可以匹配,用\bhere\b就不能区配了,因为ad后面没有\b. 所以 adhere 中的here 不会被匹配。

总结: \b 就是用在你匹配整个单词的时候。 如果不是整个单词就不匹配。 你想匹配 I 的话,你知道,很多单词里都有I的,但我只想匹配I,就是“我”,这个时候用 \bI\b

\B就是反过来,代表非字间。 类似\d代表数字, \D代表非数字。
参考技术A 补充一点:
\b 在ASCII字符中代表退格键, 但是 \b 同时也是一个正则表达式的特殊符号
为了让RE编译器把 \b 当做你想匹配的字符串,而非一个退格键,需要用另外一个反斜线进行转义, \\b

正则表达式 “!\\^\\.\\*\\$!([^!]+)!” 是啥意思?

在java中要进行转义,所以转化成标准正则表达式后就是“ !\^\.\*\$!([^!]+)!”
正则表达式中\^
表示就是^的本身的意思,\.
\$
,同理得知;所以最后你的表达式表示!^.$!
开头后面跟任意非!的字符串重复一次到无穷次,然后以!结束。例如:1321312!^.$!
123!123123。
如果想让字符串只能是!^.$!
123!
,两边没有其他字符的,
那么在你正则的首加上^尾加上$。
参考技术A *?
是惰性匹配,就是匹配尽可能少的次数。
.*?的意思是匹配任意字符,尽可能少的次数。
比如:abaaaaabb

a.*b去匹配,会匹配到abaaaaabb
全部,应为正则默认贪婪匹配,找到第一个b之后,发现后面还有b,会一直匹配下去。
所以
可以使用贪婪匹配,a.*?b
这样的话,
只会匹配尽可能少的次数
就会匹配到
ab
还有问题hi我。

以上是关于正则表达式 \B 是啥意思? 怎么用?的主要内容,如果未能解决你的问题,请参考以下文章

js 正则表达式 \\-是啥意思

java正则表达式中是啥意思

js正则表达式(^ ) 360WEBINDEXCK=([^;]*)(;\x24)是啥意思详细点谢谢

python正则表达式re.findall(r"\b\w+\b", s)中的r是啥意思?

麻烦您能给我解释一下正则表达式REGEXP_REPLACE函数后面的'\1/\2/\3'是啥意思,前面的都能看懂,谢谢

java 正则表达式是啥?