簡體   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