在java中使用regexp获取数字之前的字符串

在java中使用regexp获取数字之前的字符串,java,regex,Java,Regex,是否有一种方法可以在()中的4个数字之前获取字符串的第一部分 我不想反复搜索匹配项并获得第一名。我希望正则表达式在()中获取4个数字之前的字符,并希望它放弃其余文本。正则表达式类似于 (.*)\(\d{4}\).* 要在Java中使用,您需要转义backshlash,输出字符串位于组1。对于这种类型的文本: String result = input.split("\\(")[0]; 或者,如果第一部分中可能出现(): String result = input.split("\\(\\d{

是否有一种方法可以在()中的4个数字之前获取字符串的第一部分


我不想反复搜索匹配项并获得第一名。我希望正则表达式在()中获取4个数字之前的字符,并希望它放弃其余文本。

正则表达式类似于

(.*)\(\d{4}\).*

要在Java中使用,您需要转义backshlash,输出字符串位于组1。

对于这种类型的文本:

String result = input.split("\\(")[0];
或者,如果第一部分中可能出现
):

String result = input.split("\\(\\d{4}\\)")[0];

这甚至适用于不包含任何数字和空字符串的输入。

您尝试过什么吗?您能展示您的尝试吗?还是SO社区会为您这样做?
String result = input.split("\\(\\d{4}\\)")[0];