2010-09-15 69 views
1

有没有办法在()中的4个数字之前获取字符串的第一部分。在java中使用正则表达式获取字符串

Input String: "Some Title (2000) some text." 
Output String: "Some Title " 

我不想迭代匹配并得到第一个。我想要正则表达式来获取()中4个数字之前的字符,并且我希望它放弃其余的文本。你需要逃避backshlashes和输出字符串

+2

你尝试过什么吗?你能展示你的尝试吗?还是SO社区会为你做? – 2010-09-15 14:28:54

回答

2

正则表达式会是这样的

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

对于使用Java中是在组1

1

正是这种类型的文本:

String result = input.split("\\(")[0]; 

或者如果(可能出现在第一部分:

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

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