3
Java regex ที่รวบรวมดัชนีกลุ่ม
ฉันมีบรรทัดต่อไปนี้ typeName="ABC:xxxxx;"; ฉันต้องการที่จะดึงข้อมูลคำABC, ฉันเขียนข้อมูลโค้ดต่อไปนี้ Pattern pattern4=Pattern.compile("(.*):"); matcher=pattern4.matcher(typeName); String nameStr=""; if(matcher.find()) { nameStr=matcher.group(1); } ดังนั้นถ้าฉันใส่group(0)ฉันได้รับABC:แต่ถ้าฉันใส่group(1)มันABCฉันก็เลยอยากรู้ นี้จะมีอะไร0และ1หมายความว่าอย่างไร จะดีกว่าถ้าใครสามารถอธิบายฉันด้วยตัวอย่างดีๆ รูปแบบ regex มี a :อยู่ด้วยเหตุใดgroup(1)ผลลัพธ์จึงละเว้นสิ่งนั้น กลุ่มที่ 1 ตรวจพบคำทั้งหมดในวงเล็บหรือไม่ ดังนั้นถ้าฉันใส่วงเล็บอีกสองอันเช่น\\s*(\d*)(.*): แล้วจะมีสองกลุ่มไหม group(1)จะคืน(\d*)ส่วนและgroup(2)คืน(.*)ส่วนหรือไม่ ข้อมูลโค้ดนี้มีจุดประสงค์เพื่อล้างความสับสนของฉัน ไม่ใช่รหัสที่ฉันกำลังดำเนินการอยู่ รหัสที่ให้ไว้ข้างต้นสามารถทำได้ด้วยString.split()วิธีที่ง่ายกว่ามาก