โจทย์คือ :
ชื่อขึ้นต้นด้วยอักษรพิมพ์ใหญ่ 1 ตัว ตามด้วยตัวอักษรตัวเล็ก หรือตัวเลขหรือ - ความยาวชื่อสูงสุดไม่เกิน 10 ตัว
ตามด้วยช่องว่างตั้งแต่ 1 ช่องขึ้นไป
และตามด้วยนามสกุลซึ่งขึ้นต้นด้วยอักษรพิมพ์ใหญ่ 1 ตัว ตามด้วยตัวอักษรตัวเล็ก หรือตัวเลข หรือ - ความยาวนามสกุลสูงสุดไม่เกิน 20 ตัว
แล้วคือทีนี้ ผมติดปัญหาตรงตอนที่ว่า "ตามด้วยช่องว่างตั้งแต่1ช่องขึ้นไป" อะครับ
คือผมเขียน ว่า ([A-Z][a-z0-9-?]{1,9})(\\s+)(([A-Z][a-z0-9-?]){1,19});
มันติดตรงช่อง \\s+ อะครับ เงื่อนไขมันออกเป็น false ตลอดเลย
อย่างเช่นผมใส่ Peanut Butercup1 จริงๆมันก็ควรจะถูก แต่กลับออกเป็น false
ช่วยผมหน่อยครับ เรื่อง Pattern ของชื่อนามสกุลในภาษา JAVA
ชื่อขึ้นต้นด้วยอักษรพิมพ์ใหญ่ 1 ตัว ตามด้วยตัวอักษรตัวเล็ก หรือตัวเลขหรือ - ความยาวชื่อสูงสุดไม่เกิน 10 ตัว
ตามด้วยช่องว่างตั้งแต่ 1 ช่องขึ้นไป
และตามด้วยนามสกุลซึ่งขึ้นต้นด้วยอักษรพิมพ์ใหญ่ 1 ตัว ตามด้วยตัวอักษรตัวเล็ก หรือตัวเลข หรือ - ความยาวนามสกุลสูงสุดไม่เกิน 20 ตัว
แล้วคือทีนี้ ผมติดปัญหาตรงตอนที่ว่า "ตามด้วยช่องว่างตั้งแต่1ช่องขึ้นไป" อะครับ
คือผมเขียน ว่า ([A-Z][a-z0-9-?]{1,9})(\\s+)(([A-Z][a-z0-9-?]){1,19});
มันติดตรงช่อง \\s+ อะครับ เงื่อนไขมันออกเป็น false ตลอดเลย
อย่างเช่นผมใส่ Peanut Butercup1 จริงๆมันก็ควรจะถูก แต่กลับออกเป็น false