前言

日常开发中遇到的一个需求:

String msg="这是一个字符串,括号在后面(这是括号里面的内容,你能把我取出来吗?),括号在前面,第二个括号(咋咋咋),第三个括号【这是中文中括号】"

如何取出这个字符串括号里面的内容:

    public static List<String> extractMessageByRegular(String msg) {List<String> list = new ArrayList<String>();//正则Pattern p = Pattern.compile("(?<=【)[^】]*|(?<=\\()[^\\)]+");Matcher m = p.matcher(msg);while (m.find()) {list.add(m.group());}return list;}

写了一个正则 :

(?<=【)[^】]*|(?<=\()[^\)]+(?<=【)[^】]*|(?<=\()\S+(?=\))

非常的好用!!博主亲测。
非常的好用!!博主亲测。

简单解释一下这个正则的意思:


(?<=\()\S+(?=\)): 就是匹配以 (开头, )结尾的括号里面最少有一个非空白字符的串, 但不包括开头的(和结尾的)(?<=\() 判断是否以括号开头,但不包含括号\S  匹配任何非空白字符|: 或的意思

然后这个正则是用了一个叫: 零宽度断言 的东西,你可以去看看


正则判断字符串是否以某个特定字符开头

写一个正则,判断之后的字符串是不是以 AB开头…,然后后面还有10位数字

public class RuleUtils {private static final Pattern RULE = Pattern.compile("(^AB\\d{10}$)");public static Boolean check(String data) {int length = data.length();if (length == 12) {RULE.matcher(data).find();}return false;}
}
\\d代表匹配数字,{10}代表正好匹配次数

正则匹配英文括号( 中文括号【 里面的内容 封装工具类相关推荐

  1. 修改字段名称、替换字符中的英文变中文括号

    /修改字段名称 update product set proname= proname+'ef' where proname='清瘟解毒口服液' //替换字符中的英文变中文括号 update prod ...

  2. 正则匹配文本中的括号

    正则匹配文本中的括号 记录一下如何用正则匹配文本中的() [] {} ()的匹配 ()进行匹配时都前后都需要进行转义 String demo2 = "abcd394de (fsd) cost ...

  3. PHP正则匹配到2个字符串之间的内容,匹配HTML便签内容

    PHP正则匹配到2个字符串之间的内容 $preg= '/xue[\s\S]*?om/i'; preg_match_all($preg,"学并思网址xuebingsi.com",$r ...

  4. Python正则匹配的应用——替换括号及括号内字符、文本分句

    本文是在实际处理文本时遇到的两个应用. 1.剔除括号及括号内的数据 用正则匹配的方法,替换掉目标字符串为空,具体示例如下: s = "我是一个人(中国人)aaa[真的]bbbb{确定}&qu ...

  5. python正则匹配所有的中文,数字和英文

    1.匹配所有的中文 代码: import re string = '41f54哈哈哈哈3@¥-¥你是¥我的小可爱吗!@沙雕$' result = re.findall(u'[\u4e00-\u9fa5 ...

  6. java正则匹配英文句号_「正则表达式」王国奇遇记

    第一回 初来乍到 NPC: "欢迎来到正则表达式的国度,勇士!这里的每一个人都使用正则表达式,我是这里的 NPC,每一个来到这里的人都将由我代为介绍正则世界的规则,至于能领悟到何种境界,就看 ...

  7. 中文转 拼音字母、全拼 工具类

    什么都不用说了  直接贴代码: package test;import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pi ...

  8. 阿拉伯数字转中文大写和中文小写封装工具类

    package com.springboot.entity.utils; import lombok.extern.slf4j.Slf4j; /**  * @author maniac  * date ...

  9. java正则匹配下划线_正则表达式(匹配英文、中文、数字、下划线)

    如下的正则: 复制代码 代码示例: ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!. ...

最新文章

  1. tello通信_【我的项目666】+通讯管理(5)modbus-RTU主机
  2. Python进阶09 动态类型
  3. 数据库视频总结一(概述)
  4. docker 发布tomcat项目_Docker部署java项目[tomcat环境]
  5. mysql设置取值范围0到100_mysql中的int smallint 取值范围
  6. WebView详解与简单实现Android与H5互调
  7. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌1.15%
  8. 独家揭秘!抖音爆款实时视频漫画变身特效背后技术
  9. Django 项目一补充
  10. 如何在vim中打印出^M
  11. 计算机电源管理器怎么打开,联想电源管理软件打不开怎么办
  12. MySQL进阶书籍推荐
  13. 手撕包菜 mysql_新版手撕包菜安装教程
  14. NXP恩智浦单片机Keil5环境下编程
  15. 语音驱动嘴型与面部动画生成的现状和趋势
  16. 嵌入式知识框架之六-接口与总线(SPI\I2C\ USB\PCI\PCI-E\SD\SDIO\以太网接口)
  17. kubeadm部署k8s集群最全最详细
  18. 安装ipython的命令是什么意思_ipython 命令
  19. 前端笔记之微信小程序(二){{}}插值和MVVM模式数据双向绑定指令API
  20. 品城记探店之鹭江滨江东路丘大6仔记餐厅

热门文章

  1. 【图像处理】记一次粗心:未加载opencv_world300d.dll
  2. python作业-12
  3. Vue # Avoid mutating a prop directly since the value will be overwritten wheneve
  4. Duang~建模助手双II活动强势开启
  5. mybatis-plus过滤不查询某一字段
  6. linux lightdm.conf,lightDM(Light Display Manager)简介
  7. Ubuntu 桌面死机后重启桌面方法
  8. [x y w h]转化为[ymin xmin ymax xmax]
  9. srgb色彩空间_网页设计师的色彩:了解sRGB
  10. python——人工智能(AI)之网络图片文字识别案例详细讲解