如何使用正则表达式匹配并提取TXT文件首行内的所有分号字符
匹配首行分号的正则解决方案
可用正则(Java 9+ 兼容)
(?<=^[^\n\r]*);
规则说明
- 后向断言
(?<=^[^\n\r]*)限制匹配位置必须在首行范围内:即匹配的分号之前不存在任何换行、回车符,仅包含从文件开头起的普通字符 - 末尾的
;直接匹配目标分号字符
使用说明
- 不要开启正则的多行(
MULTILINE)模式,否则^会识别每一行的行首,导致所有行的分号都被命中 - 若运行环境为Java 8及更早版本(不支持不定长后向断言),可改用兼容写法,提取分组1的内容即可得到首行分号:
(?:^[^\n\r;]*|\G[^\n\r;]*)(;)
验证效果
针对你提供的示例文本,以上正则仅会匹配第一行的6个分号,第二行的分号不会被识别,完全符合需求。
内容的提问来源于stack exchange,提问作者Kaio Ribeiro Sanchez
相关产品推荐
相关产品推荐

