java 正则匹配引号里的内容_常用正则表达式

799f48ebec4c0369f0ae4f4cdc872a78.png

基本的规则

[exp] 匹配中括号里的内容

abc21cde abc[123] 匹配结果 abc2

(exp)捕获分组

abc21cde ab(c[2]) 匹配结果 abc2 会捕获到c2 这个结果
d0641940791cd2763e373cb07cdd02d0.png
abc21cde ab(?c[2]) 匹配结果 abc2 也会捕获c2这个结果 ,分组名称:myName
b8756c35e3d6811664c4d5a47e2728cf.png

(?:exp)非捕获分组

 abc21cde ab(?:c[2]) 匹配结果:abc2 但是不再捕获c2这个结果
e5ea5fcbd859b619c762a83170d341b6.png
0f30073f7e09d0538247666cbbfbf88f.png

环视功能

环视不会占用字符,也就是说,环视它就是看一下是不是,但并不会匹配它,也就不会占用这个字符

(?=exp)肯定顺序环视,肯定前瞻

abc21cde abc(?=21) 匹配结果 abc
10dd026fcd8105de2a5492bdfbf38bfd.png
当指针指到c时,向前匹配是否有21即匹配abc右侧是21的字符串
2db719fa0b9e120da5823393320844c1.png

(?!=exp)否定顺序环视,否定前瞻

abc21cde ab(?!=ab) 匹配结果 ab
e4f4667c2b3d348bd184c223ccb2c8d6.png
当指针指到b时,向前匹配不是ab的字符串即匹配ab右侧不是ab的字符串
bb8f8179d9d8741ea4a05ea25d7647a5.png

(?<=exp)肯定逆序环视,肯定后顾

abc21cde (?<=abc)21 匹配结果 21当指针指到2时,向后匹配是abc的字符串即匹配21左侧是abc的字符串
154af05c20501364e00f2e14a97b83f4.png

(?!

abc21cde (?!
34dfaa8550606e591c2c1b61b66bc0d1.png

实际操作

删除指定位置的空格

组 成: 张 三  李 四 万二麻子这 短 话。

需要删除*位置的空格

组*成: 张*三  李*四 万二麻子这*短*话。表达式(?<=[w一-龥]) +(?=([w一-龥:])) + 匹配半角空格(?<=[w一-龥]) 空格左侧是字符(?=([w一-龥:])) 空格右侧是字符冒号
2493150a01b8e36c1a5711a92f1c4b5f.png

工具中使用表达式快速替换

比如我粘贴了一些文字 sql 查询时使用 and field in ('综合政务','财政、金融、审计' .....)利用工具中的正则匹配替换功能快速加上双引号综合政务财政、金融、审计农业、林业、水利工业、交通商贸、海关、旅游城乡建设、环境保护科技、教育文化、广电、新闻出版卫生、体育…………

左侧引号

(?=[一-龥])空格后面是汉字的替换成'

40dee9817dff56fc395d5f170d68f553.png

右侧引号逗号

(?<=[一-龥])$以汉字结尾的行 替换成',

29a7d759c25b882bf99c5d1e669dbfde.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值