JS使用正则表达式获取小括号、中括号及花括号内容的方法示例


Posted in Javascript onJune 01, 2018

本文实例讲述了JS使用正则表达式获取小括号、中括号及花括号内容的方法。分享给大家供大家参考,具体如下:

正则表达式的() [] {}有不同的意思。

() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。

(\s*)表示连续空格的字符串。

[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。

{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格。

(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。

[0-9]{0,9} 表示长度为 0 到 9 的数字字符串。

小括号是用于将基本的单元合成一个大的单元,而中括号就是将多个基本单元组成一个选择域,表示其中一个的意思。

例子:

小括号

例子1、我们想匹配123这个整体

(123)就是匹配"123"这个整体,

大括号

而[123]就是匹配1/2/3(1或者2或者3)

再举个三水点靠木小编碰到的一个问题

例如我们想匹配 多个替换<p>  </p>中间多个 的时候

先用中括号[]

<p>[ ]*</p>

匹配内容的就如下图所示

JS使用正则表达式获取小括号、中括号及花括号内容的方法示例

那下面用小括号试试()

<p>( )*</p>

JS使用正则表达式获取小括号、中括号及花括号内容的方法示例

就是我们预想的效果。

其实匹配的正则比较好的是这个,里面万一空字符肯定就不行了

<p>(\s|\ \;| | |\xc2\xa0)*</p>

JS 正则表达式 获取小括号 中括号 花括号内的内容

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>3water.com JS获取括号内容</title>
</head>
<body>
<script type="text/javascript">
var str="123{xxxx}456[我的]789123[你的]456(1389090)789";
var regex1 = /\((.+?)\)/g; // () 小括号
var regex2 = /\[(.+?)\]/g; // [] 中括号
var regex3 = /\{(.+?)\}/g; // {} 花括号,大括号
// 输出是一个数组
console.log(str.match(regex1)); 
console.log(str.match(regex2));
console.log(str.match(regex3));
</script>
</body>
</html>

使用在线HTML/CSS/JavaScript代码运行工具http://tools.3water.com/code/HtmlJsRun测试运行结果如下:

JS使用正则表达式获取小括号、中括号及花括号内容的方法示例

Javascript 相关文章推荐
讨论javascript(一)工厂方式 js面象对象的定义方法
Dec 15 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
Jun 27 Javascript
jQuery Ajax请求状态管理器打包
May 03 Javascript
jQuery插件 selectToSelect使用方法
Oct 02 Javascript
浅谈jQuery中height与width
Jul 06 Javascript
解决js图片加载时出现404的问题
Nov 30 Javascript
详解如何在项目中使用jest测试react native组件
Feb 09 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 Javascript
微信小程序保存多张图片的实现方法
Mar 05 Javascript
js+cavans实现图片滑块验证
Sep 29 Javascript
在vue中给后台接口传的值为数组的格式代码
Nov 12 Javascript
Vue全家桶入门基础教程
May 14 Vue.js
基于JS实现带动画效果的流程进度条
Jun 01 #Javascript
说说node中的可读流和可写流的区别
Jun 01 #Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
Jun 01 #Javascript
React 使用browserHistory项目访问404问题解决
Jun 01 #Javascript
详解vue-router 命名路由和命名视图
Jun 01 #Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
May 31 #Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 #jQuery
You might like
php 特殊字符处理函数
2008/09/05 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python中几个比较常见的名词解释
2015/07/04 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
Python实现的自定义多线程多进程类示例
2018/03/23 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
python 公共方法汇总解析
2019/09/16 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
副科竞争上岗演讲稿
2014/05/12 职场文书
2014年司法所工作总结
2014/11/22 职场文书
mysql 8.0.24版本安装配置方法图文教程
2021/05/12 MySQL
Redis主从复制操作和配置详情
2022/09/23 Redis