要捕获直到第一个分隔符但不包括分隔符的内容,可以使用贪婪模式的非贪婪量词,例如使用"?"操作符。下面是一个示例的解决方法,使用Java语言和正则表达式:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
    public static void main(String[] args) {
        String input = "Hello, World! This is an example.";
        // 定义分隔符
        String delimiter = "!";
        // 构建正则表达式
        String regex = "(.*?)" + Pattern.quote(delimiter);
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 匹配输入字符串
        Matcher matcher = pattern.matcher(input);
        // 检查是否找到匹配项
        if (matcher.find()) {
            // 获取捕获的内容(不包括分隔符)
            String captured = matcher.group(1);
            // 输出结果
            System.out.println("Captured: " + captured);
        }
    }
}
上述代码中,我们定义了输入字符串为"Hello, World! This is an example.",分隔符为"!"。然后构建了正则表达式(.*?)!,其中(.*?)表示捕获任意字符,使用非贪婪模式,直到遇到分隔符"!"。通过编译正则表达式并匹配输入字符串,我们可以使用matcher.group(1)获取捕获的内容(不包括分隔符),最后输出结果为"Captured: Hello, World"。