Allain นั้นมีจาวาโค้ดอยู่แล้วดังนั้นคุณสามารถใช้มันได้ อย่างไรก็ตามการแสดงออกของเขาตรงกับเฉพาะในกรณีที่ตัวเลขของคุณจะนำหน้าด้วยตัวอักษรคำ
"(\\d+)"
ควรจะสามารถค้นหาสตริงของตัวเลขแรกได้ คุณไม่จำเป็นต้องระบุสิ่งที่อยู่ข้างหน้าถ้าคุณแน่ใจว่ามันจะเป็นตัวเลขชุดแรก ในทำนองเดียวกันไม่มีประโยชน์ในการระบุว่ามีอะไรหลังจากนั้นเว้นแต่คุณต้องการ หากคุณต้องการตัวเลขและแน่ใจว่ามันจะเป็นสตริงแรกของตัวเลขหนึ่งหลักหรือมากกว่านั้นนั่นคือทั้งหมดที่คุณต้องการ
หากคุณคาดหวังว่ามันจะถูกชดเชยด้วยช่องว่างมันจะทำให้ชัดเจนยิ่งขึ้นในการระบุ
"\\s+(\\d+)\\s+"
อาจจะดีกว่า
หากคุณต้องการทั้งสามส่วนสิ่งนี้จะทำ:
"(\\D+)(\\d+)(.*)"
แก้ไขการแสดงออกที่กำหนดโดย Allain และแจ็คขอแนะนำว่าคุณต้องระบุกลุ่มย่อยบางส่วนของตัวเลขที่ไม่ใช่ในเพื่อที่จะจับหลัก ถ้าคุณบอกเอนจิ้นของ regex ที่คุณกำลังมองหาอยู่\d
มันจะไม่สนใจทุกสิ่งทุกอย่างก่อนตัวเลข หาก J หรือ A แสดงออกเหมาะกับรูปแบบของคุณแล้วการแข่งขันทั้งหมดเท่ากับสายป้อน และไม่มีเหตุผลที่จะระบุ มันอาจจะช้าลงถ้าหากมันไม่ได้ถูกมองข้ามทั้งหมด