正则表达式的\b与\B总结

\b 单词边界,是指单词与符号之间的边界,是一个位置,不是空格或字符。(这里单词可以是中文字符,英文字符,数字;
   符号可以是中文符号,英文符号,空格,制表符,换行)。不能与量词?+*{1}{2,5}等连用
\B 非单词边界,是指符号与符号,单词与单词的边界,不能与量词连用 

举列:

1.单词边界

var str = ' 2 ';//其中空格与2之间的位置叫做单词边界,匹配\b

2.非单词边界

var str = ",,,,,和呵呵,,,,,";
var reg = '\B呵\B';//reg匹配中间的呵,其两侧都是字符,中间的位置为非单词边界。

3.统计以“,”分割的元素中“3”的个数

var test = "137,1,33,4,3,6,21,3,35,93,2,98"; 
var count = test.match(test, "\b3\b").length; //结果:2

4.千分位分割数字,将输出成7,654,321这样的格式

'7654321'.replace(/\B(?=(\d{3})+(?!\d))/g,',')
//7,654,321(匹配末尾是非数字,中间是连续3位数字整倍数的非单词边界)'99893'.replace(/\B(?=(\d{3})+$)/g, ',')
// '99,893'

5.手机号344分割

'12345678901'.replace(/\B(?=(?:\d{4})+$)/g, '-')
// '123-4567-8901'

 


参考: http://blog.csdn.net/qq_33248299/article/details/53559924
    https://segmentfault.com/q/1010000004508861
    http://www.jb51.net/article/19330.htm
    https://juejin.im/post/5964e1ca51882568d2248b61

 

转载于:https://www.cnblogs.com/mengff/p/7291190.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php mysql 取最小值_php – 根据另一个值更新最小值 – MySql

循环遍历数组并检查num是否低于前一个数字.$data数组的示例:$data array([0] > array(id > 9267399, code > 5D:148, num > 64),[1] > array(id > 9267398, code > 5D:186, num > 71));–$array_to_add array();foreach($data AS $val) {…

关于flex,好像有12个属性非常重要

关于Flex,有12个属性非常重要 这几天在学习Flex布局,发现Flex真的好厉害! Flex是Flexible Box的缩写,意为“弹性布局”,用来为盒模型提供最大的灵活性。 Flex是它能够简单、完整、响应式的实现各种网页布局&#xff0c…

在Hibernate中启用实体和查询缓存

1.简介 在我执行过的与性能相关的任务中,这就是其中之一。 令人担心的是,如果每次为特定实体调用相同的查询,并且表数据在特定的时隙内不易更改,则我们可以使用Hibernate缓存查询结果。 这意味着,如果我们需要ID为1234…

php的内置函数strrpos_php strrpos 字符串查找函数内部源码实现

此函数strrpos从字符串的末尾开始查找所需要查找的字符。其他内部实现和strpos差不多是一样的。/* {{{ proto int strrpos(string haystack, string needle [, int offset]) Finds position of last occurrence of a string within another string */PHP_FUNCTION(strrpos){…

MyBatis缓存与Apache Ignite的陷阱

一周前,MyBatis和Apache ignite 宣布支持apache ignite作为MyBatis缓存(L2缓存)。 从技术上讲,MyBatis支持两个级别的缓存: 本地缓存,默认情况下始终启用 L2缓存,可选 随着Apache Ignite项目…

pptp mysql 认证_CentOS6.5搭建PPTP+Freeradius整合***管理系统

1、搭建PPTP服务php一、安装yum源mysql[rootNode ~]# cd /etc/yum.repos.d[rootNode ~]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo[rootNode ~]# yum -y install epel-relaese或web[rootNode ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_6…

OAuth2.0详解

来源博客:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做…

python创建方法draw_Python做图像处理(五)---ImageDraw综合应用实例:自制验证码...

前面几讲讲解了pillow库中两个最重要的模块,Image模块与ImageDraw模块,本讲小编将这两个模块综合应用起来,来制作一个随机自动生成验证码的程序。1.生成验证码程序的算法设计原理验证码通常用于网络,是网站为了防止恶意注册和网络…

java web mvc_构建Java Web应用程序时遵循MVC的三个步骤

java web mvc第1步 做 始终通过servlet / action bean处理URL(POST表单,单击链接等),而不是通过JSP处理 为什么 ActionBeans(无论某些框架调用那些类),而servlet很少是控制器 用于处理用户输入。…

unknown error mysql_mysql执行sql文件报错Error: Unknown storage engine‘InnoDB’的解决方法...

发现问题最近在工作中遇到一个问题,在运行了一个innoDB类型的sql文件,报了Error: Unknown storage engine InnoDB错误,网上查了很多方法,但是都没办法真正解决我的问题,后来解决了,在这里总结一下过程&…

JQuery 对表单进行初始化操作

提供一种如果前台页面标签比较多,如果挨个初始化的话可能会比较繁琐,这时候我们可以将后台传递的数据组装为json串,前台用jquery将代码初始化到表单中。 function loadData(jsonStr) {// alert(jsonStr.toString())var obj eval("(&qu…

Winform控件扩展

1.TextBox 增加水印 新增一个用户控件,将继承UserControl改为TextBox public partial class TextBoxEP : TextBox{public TextBoxEP(){InitializeComponent();}private const uint WT_Mark 0x1501;[DllImport("user32.dll", CharSet CharSet.Auto, SetL…

oracle 中大于等于_针对oracle安装参数调整方法

solaris针对oracle安装的shmmax参数调整方法安装数据库不能拘泥于联机文档,最近看到好几个跑oracle的sun主机上,都把和数据库内存使用相关的操作系统内核参数shmmax设置成4G,因为联机文档中“solaris系统上安装oracle”是这样写的。具体实施时…

带有JAX-WS和Spring的Web服务应用程序

1.简介 这是一个漫长的等待,但是我终于发布了一个关于使用Spring创建第一个基于SOAP的Web服务应用程序的教程。 JAX-WS (用于XML Web服务的Java API)是用于以XML格式创建Web服务的一组API,我们最常将其称为基于SOAP的Web服务 &…

mysql把一个字段加到另一张表中_mysql如何能把一个表中的某一字段下的数据加入另一个表中相同字段下,条件是两表中的某字段相同?...

1、创建表create table a (name varchar(20) not null,sex varchar(10));create table b (name varchar(20) not null,sex varchar(10));2、插入值insert into a values(john,male);insert into b values(john,male);insert into a values(kate,female);insert into b values(k…

jboss数据源配置

http://blog.csdn.net/clinique/article/details/7482670 最近项目相关的JBOSS配置开始,留下点什么 项目使用的是local-tx-datasource, 网上找了很多资料,都没有明确说明local-tx-datasource和xa-datasource的区别,而且中文的资料太少&#x…

创建虚拟环境和新建工程目录

一、创建虚拟环境 virtualenv -p python版本的路径.exe 虚拟环境名称 #新建虚拟环境 eg:virtualenv -p C:\Users\fanlala\AppData\Local\Programs\Python\Python35-32\python.exe article_spider #使用python3.5新建名为article_spider的虚拟环境。 新建完成虚…

python装饰器编程_Python编程中装饰器的使用示例解析

装饰函数和方法我们先定义两个简单的数学函数,一个用来计算平方和,一个用来计算平方差: # get square sumdef square_sum(a, b):return a**2 b**2# get square diffdef square_diff(a, b):return a**2 - b**2print(square_sum(3, 4))print(s…

mvvm 自动绑定_ZK的实际应用:MVVM –表单绑定

mvvm 自动绑定这是我们从头开始构建ZK应用程序的第二集。 上一篇文章介绍了使用MVVM将数据加载和呈现到表中。 在本文中,我们将向您介绍ZK MVVM的表单绑定。 目的 我们将构建一个“添加”功能,使我们能够将新条目保存到清单中。 单击“添加”时出现表格…

最短路和次短路问题,dijkstra算法

1 /* 2 *题目大意: 3 *在一个有向图中,求从s到t两个点之间的最短路和比最短路长1的次短路的条数之和; 4 * 5 *算法思想: 6 *用A*求第K短路,目测会超时,直接在dijkstra算法上求次短路; 7 *将dist数组开成二维的,即dist[v][2],第二维分别用于记录最短…