正则表达式中\b和\s有什么区别
字符串:abcsdsadas abc asdsadasdabcasdsa
使用\sabc\s和\babc\b都能匹配中间的abc,这种方法不是重复了么,/s是匹配空格回车等得,/b网上教程说得不清楚什么字符边界什么意思。
不一样
\babc\b匹配的是"abc"
\sabc\s匹配的不是"abc", 前后还带空格" abc "
\b只是匹配字符串开头结尾及空格回车等的位置, 不会匹配空格符本身 例如"abc sdsadasabcasdsadasdabcasdsa",
\sabc\s不能匹配,\babc\b可以匹配到"abc"
\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代表非数字。
正则表达式中\b和\s有什么区别的更多相关文章
- js正则表达式中test,exec,match方法的区别说明
js正则表达式中test,exec,match方法的区别说明 test test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var ...
- js正则表达式中test,exec,match方法的区别
test test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var reg = new RegExp("1." ...
- 正则表达式中的exec和match方法的区别
正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...
- 正则表达式中/i,/g,/ig,/gi,/m的区别和含义
正则表达式中/i,/g,/ig,/gi,/m的区别和含义 /i (忽略大小写)/g (全文查找出现的所有匹配字符)/m (多行查找)/gi(全文查找.忽略大小写)/ig(全文查找.忽略大小写)
- 正则表达式中 re.match与re.search的区别
标签: 本文和大家分享的主要是python正则表达式中re.match函数与re.search方法的相关用法及异同点,希望通过本文的分享,能对大家有所帮助. re.match函数 re.match 尝 ...
- * 和 ?在 shell 命令行中与在正则表达式中的区别
Linux 正则表达式 你有没有想过,在 shell 命令行中的 *,?和正则表达式中的*,?是否一样? 自打好多年前接触 DOS,就知道了* 和?这两个通配符(Wildcard),象 dir *.* ...
- 正则表达式中 group groups区别
先看代码instance: 1 >>> a="123abc456" 2 >>> import re 3 >>> print(r ...
- Python正则表达式中的re.S
title: Python正则表达式中的re.S date: 2014-12-21 09:55:54 categories: [Python] tags: [正则表达式,python] --- 在Py ...
- JDBC中的Statement和PreparedStatement的区别
JDBC中的Statement和PreparedStatement的区别
随机推荐
- phoenix技术(安装部署和基本使用)讲解
1.phoenix简介 Apache Phoenix是构建在HBase之上的关系型数据库层,作为内嵌的客户端JDBC驱动用以对HBase中的数据进行低延迟访问.Apache Phoenix会将用户编写 ...
- “段错误(segment fault)”、“非法操作,该内存地址不能read/write” 非法指针解引用造成的错误。
小结: 1. “段错误(segment fault)”.“非法操作,该内存地址不能read/write”非法指针解引用造成的错误. <程序员的自我修养 : 链接.装载与库> Q 我写的程序 ...
- [archlinux][plasma][screensaver] plasma5配置屏保程序,没成功(-_-#)
plamsa用了好久,一直没有屏保.我想要玄酷的屏保! 用xscreensaver, 之前用FVWM2的时候,就用过了,很玄酷. 一,安装 pacman -S xscreensaver 二,配置 xs ...
- 【PyQt5-Qt Designer】工具箱(QToolBox)控件的使用
工具箱(QToolBox)+toolButton+tabWidget 总体介绍 QToolBox类提供了一列选项卡的小部件(选项卡内含项目). 工具箱是一个小部件,它将选项卡一个一个的显示,当前项目显 ...
- 1-1-linux环境搭建
1-1-linux环境搭建 1.安装虚拟机 (1).安装虚拟机增强工具. (2).创建共享文件夹:(https://www.cnblogs.com/huangjianxin/p/6343881.htm ...
- svn 部署 配置
创建目录并配置 建立版本库目录 创建一个项目名叫wy 在/data/svndata/wy mkdir -p /data/svndata/wy 建立项目版本库 创建一个新的Subversion项目wy, ...
- svn 启动命令讲解
svn默认端口是3690 svn启动命令详解 svn启动命令详解 svnserve --help usage: svnserve [-d | -i | -t | -X] [options] Valid ...
- MongoDB update修改器: 针对Arrays的$修改器 $push $pull $pop
针对Arrays的$修改器 $push : { $push: { key: value } } 它是用来对Array (list)数据类型进行 增加 新元素的,相当于我们Python中 list.ap ...
- gitlab+jenkins多项目,多依赖,继承等上下级项目关系的自动部署
案例: 现有三个项目,Common,entity,serviceAPIentity依赖于Common,serviceAPI依赖于entity,也就是说common的下级项目是entity,而entit ...
- 报错解决——-bash: wget: command not found
本人用的是Mac本,在Mac中install的时候经常会用到wget,但是事先没有安装wget的话就会报上面的错误,解决方法就是安装wget. 安装wget 方法一:用传统的安装包方式安装 A - 从 ...