[英]Java Regex with underscore
Pattern r = Pattern.compile("(\\w+)\\s+(\\w+)\\s+(\\w+)\\s*");
Matcher m = r.matcher(line);
if (m.find()) {
System.out.println("Found: " + m.group(2));
} else {
System.out.println("Not found");
}
當我使用這個:
HEY_YO NICE GUYHERE
它顯示輸出:找不到。 如何獲得帶下划線的字符串? (_)
輸入:
HEY_YO NICE GUYHERE
我想輸出:
Found: HEY_YO
我認為您沒有傳遞“ HEY_YO NICE GUYHERE”作為輸入,因為對於此輸入,您的代碼將產生“ Found:NICE”作為輸出。要獲取要替換的輸出
System.out.println("Found: " + m.group(2));
同
System.out.println("Found: " + m.group(1));
使用matcher.find()
您只能指定要捕獲的內容:
public static void main(String[] args) {
String line = "HEY_YO NICE GUYHERE";
Pattern r = Pattern.compile("[a-zA-Z]+_[a-zA-Z]+");
Matcher m = r.matcher(line);
if (m.find()) {
System.out.println("Found: " + m.group(0));
} else {
System.out.println("Not found");
}
}
O / P:
Found: HEY_YO
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.