求助:Java正则表达式提取MASTER与下一个_之间的任意字符
Java正则提取MASTER后至下一个_之间的内容
核心正则表达式
直接使用这个正则就能精准捕获目标内容:
MASTER([^_]+)
正则说明
MASTER:精准匹配固定前缀字符串([^_]+):捕获组,其中[^_]表示匹配任意非下划线字符,+表示匹配至少1个(支持任意长度,只要不是下划线就会被捕获)
Java代码实现示例
import java.util.regex.Matcher; import java.util.regex.Pattern; public class MasterExtractor { public static void main(String[] args) { String s = "KBC_2022-12-20-2004_IDEAL333_MASTER333_2022-12-20-1804_SUCCESS"; // 编译正则 Pattern pattern = Pattern.compile("MASTER([^_]+)"); Matcher matcher = pattern.matcher(s); // 查找并提取 if (matcher.find()) { String target = matcher.group(1); System.out.println("提取结果:" + target); // 输出:333 } else { System.out.println("未找到符合条件的内容"); } } }
扩展:匹配多个MASTER前缀的情况
如果字符串中存在多个MASTER前缀,想要提取所有对应的内容,只需用while循环遍历匹配结果:
while (matcher.find()) { System.out.println("提取结果:" + matcher.group(1)); }
内容的提问来源于stack exchange,提问作者Zoso619
相关产品推荐
相关产品推荐

