簡體   English   中英

正則表達式:在兩個單詞之間捕獲一個單詞

[英]Regex: Capture a word between two words

假設這些是我的輸入:

類型數據庫xyz{abc}

類型數據庫{ abc }

我想在這兩種情況下都捕捉到這一點

數據庫

圖案是:

“類型”+任意數量的空格+我想要的+任意數量的空格+任意字符

到目前為止,我已經有了這個,但我不確定如何在前瞻中匹配任何字符。 (?<=type)\\s+(.*)(?=)

我確定您不需要回溯,因為只需匹配和捕獲第二個單詞即可:

String input = "type Database xyz{ abc }";
Pattern pattern = Pattern.compile("type\\s+(.*?)\\s+.*");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
    System.out.println(matcher.group(1));
}

找到單詞並打印

Type: Database

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM