正则表达式在正则表达式匹配之前提取部分字符串

时间:2017-03-19 11:45:58

标签: java regex

说我有以下一行:

My '123? Text – 56x73: Hello World blablabla

我想在“ - 56x73 ......”

之前提取所有内容

我已经找到了一个正则表达式来匹配我不想提取的部分:

\s–\s\d{1,2}x\d{1,2}:\s.+

如何使用Java和Regex只获取其他部分?

2 个答案:

答案 0 :(得分:0)

使用

String str= ...
String regex= your regex

Pattern pattern;
Matcher matcher;

pattern = Pattern.compile(regex);
matcher = pattern.matcher(str);

if (matcher.find())
{
matcher.group(0, 1, ...)

在正则表达式中使用()来消除群组

答案 1 :(得分:0)

你已经解决了,但这可能会有所帮助, 假设56和73不会保持不变。

使用正则表达式:"(.*)(\\s)(.*)(\\s)([\\d]+[x][\\d]+)"

然后使用" group(int number)"在这种情况下,数字将为1。 我在两个人之间用过。*故意绕过" - "我没有做过任何事情,但我找到了this。其中一条评论也注意到了。

如果有人想编辑和改进我的答案,那么非常欢迎你。