繁体   English   中英

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

[英]Regex to extract part of string before regex match

说我有以下行:

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

我想在“ - 56x73 ......”之前提取所有内容。

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

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

我怎样才能使用Java和Regex获得另一部分?

采用

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, ...)

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

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

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

然后使用“group(int number)”,在这种情况下,数字将为1。 我在两个人之间使用过。*故意用“ - ”来解决这个问题,但我发现了这个问题 其中一条评论也注意到了。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM