java中通过split方法使用分号分割,使用正则表达式匹配不识别单引号中的分号

news/2024/10/17 12:35:49/

在Java中,使用split()方法可以通过指定正则表达式作为分隔符来拆分字符串。如果你想忽略单引号内的分号,可以使用以下代码:

String str = "aaa;bbb;'ccc;ddd';eee";
String[] arr = str.split("(?<!\\\\);(?=(([^\']*\'[^\']*\')*[^\']*$))");
for (String s : arr) {System.out.println(s);
}

在这个正则表达式中,它使用反向零宽断言 (?<!...) 和顺序零宽断言 (?=...) 来限制分隔符的匹配位置,以确保只有在非单引号内部的位置才会进行分割。这里通过(?<!\\\\);来匹配不在单引号内的分号,并且该分号不是转义字符。

而对于单引号内的分号,它使用了非捕获组(?:...)来构建一个能够匹配包含单引号的字符串的子表达式 ([^\']*\'[^\']*\'),并将其放入顺序零宽断言中。这样就能够正确地处理单引号内的分号,而不会把单引号内的分号当做分隔符。

需要注意的是,在 Java 中,反斜杠字符 (\) 在字符串中需要进行双重转义。因此,在正则表达式中匹配反斜杠字符时,需要使用\\\\表示一个单独的反斜杠字符。

因此,在上述示例中,输出结果为:

aaa
bbb
'ccc;ddd'
eee

http://www.ppmy.cn/news/239659.html

相关文章

mysql慢sql优化实战:in order by优化处理

背景 线上查询慢的问题日益突出,专门写一个帖子记录一下处理过程,会定期更新优化处理方案 套餐余量统计查询菜单,数据库查询时间一分钟五十秒,优化之后耗时109毫秒,性能提升很大.所有时间统计均以数据库层面进行统计.用户使用层面因为有数据传输、带宽、业务逻辑处理等因素…

Stable Diffusion原理说明

本文参考&#xff1a;深入浅出讲解Stable Diffusion原理&#xff0c;新手也能看明白 - 知乎 目录 1、Stable Diffusion能做什么&#xff1f; 2、扩散模型&#xff08;Diffusion model&#xff09; &#xff08;1&#xff09;前向扩散&#xff08;Forward Diffusion&#xff…

佳能相机G7 Mark Ⅱ (曝光补偿)

曝光指示表&#xff08;判断正常&#xff09; M模式下 曝光补偿表 P / TV / AV 何时用曝光补偿 口诀 白加&#xff08;逆光人脸&#xff09; 黑减&#xff08;剪影5&#xff09; 一般来说-1的曝光补偿已经非常能够左右画面的明暗了

佳能相机G7 Mark Ⅱ (曝光模式)

AUTO 全自动&#xff0c;什么都不需要调 P &#xff08;初级学习&#xff09; 相机只配对光圈&#xff0c;快门 自己可以调节的是&#xff1a;ISO , 曝光补偿 &#xff0c; 测光模式 TV&#xff08;中级学习&#xff09; 快门优先模式&#xff0c;自己调节一个快门值&#xf…

Jetson 相机编码

Jetson 相机编码 Jetson相机编码是即将发布的“实践”系列的相关代码。有三个存储库: 1. camera-caps JetsonHacks Github存储库camera-caps 通过v4l2-ctl命令行工具提供了一个图形用户界面。您可能会发现&#xff0c;它可以方便地检查连接到Jetson上的V4L2相机的功能。这适…

MySQL(进阶篇2.0)

SQL优化 插入数据 insert 如果需要一次性往数据库表中插入多条记录&#xff0c;可以从以下三个方面进行优化 1、优化方案一 批量插入数据 insert into tb_test values(1, Tom),(2,Cat),(3,Jerry);2、优化方案二 手动控制事务 start transaction; insert into tb_test v…

G7相关

如题,S屏Hboot,0.93取得root从此获得自由身!我是欧版的机器,自从从手机上更新了固件后,wifi不能用.错误!找了很久都没有找到降级刷机的方法,无奈做了金卡刷了http://u.115.com/file/f6d4603775官方的rom,昨天又看到高分控又发布了http://bbs.goapk.com/thread-23734-1-1.html无…

佳能相机G7 Mark Ⅱ (曝光三要素)

曝光三要素 光圈 可以在 AV / M 调节&#xff1b; 光圈可以起到控制进光量的作用&#xff1b; 最大的作用是可以实现背景虚化 &#xff1b; 光圈越大&#xff0c;虚化越好 &#xff1b;&#xff08;也就是f值越小&#xff0c;光圈越大&#xff0c;虚化越好&#xff09;&…