[英]Java regular expression with Matching text and special charachter
您好,我是 Java 正則表達式的新手。 我有以下字符串
String s = " "KBC_2022-12-20-2004_IDEAL333_MASTER333_2022-12-20-1804_SUCCESS";
我只想打印附加了 MASTER 的“333”。 輸出應為 333。有人可以幫我為此編寫正則表達式嗎? 基本上代碼應該打印“MASTER”和下一個“_”之間的值。 這里是 333,但該值可以是任意數量的字符,不限於長度 3。
您可以使用此正則表達式: (?<=MASTER)[0-9]+(?=\_)
。
我們正在尋找MASTER
和_
之間的所有內容:
MASTER
之后的所有內容: (?<=MASTER)
_
之前發生的一切: (?=\_)
在regex101.com上試試
你可以做MASTER(\\d+)_
Pattern p = Pattern.compile("MASTER(\\d+)_");
Matcher m = p.matcher(" KBC_2022-12-20-2004_IDEAL333_MASTER333_2022-12-20-1804_SUCCESS");
if (m.find()) {
System.out.println(m.group(1)); // 333
}
m = p.matcher(" KBC_2022-12-20-2004_IDEAL333_MASTER123_2022-12-20-1804_SUCCESS");
if (m.find()) {
System.out.println(m.group(1)); // 123
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.