ฉันต้องการตรวจสอบว่าสตริงมีอักขระอัลฟ่าที่ต่อเนื่องกันสองตัวขึ้นไปหรือไม่ [a-zA-Z]
เคียงข้างกันสองคนขึ้นไป ตัวอย่าง:
"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid
ฉันต้องการตรวจสอบว่าสตริงมีอักขระอัลฟ่าที่ต่อเนื่องกันสองตัวขึ้นไปหรือไม่ [a-zA-Z]
เคียงข้างกันสองคนขึ้นไป ตัวอย่าง:
"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid
คำตอบ:
สิ่งนี้ควรทำเคล็ดลับ:
[a-zA-Z]{2,}
Personnaly (เป็น nooby) ฉันเคยใช้:
[0-9][0-9]+.
แต่หนึ่งจากไซมอนนั้นดีกว่า! = ง
[a-zA-Z] {2,} ใช้ไม่ได้กับอักขระที่เหมือนกันสองตัวขึ้นไป ในการทำเช่นนั้นคุณควรจับอักขระใด ๆ จากนั้นทำการจับภาพซ้ำดังนี้:
(.) \ 1
วงเล็บจะจับไฟล์. ซึ่งแสดงถึงอักขระใด ๆ และ \ 1 เป็นผลลัพธ์ของการจับภาพ - โดยทั่วไปแล้วจะมองหาอักขระนั้นซ้ำติดต่อกัน หากคุณต้องการเจาะจงว่าอักขระใดที่คุณต้องการค้นหาว่าเหมือนกันติดต่อกันเพียงแค่แทนที่ "อักขระใด ๆ " ด้วยคลาสอักขระ ...
([a-zA-Z]) \ 1
ค้นหาอักษรตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ที่ทำซ้ำติดต่อกัน ตรงกับ "abbc123" ไม่ใช่ "abc1223" เพื่อให้มีช่องว่างระหว่างพวกเขา (เช่น ab) จากนั้นรวมช่องว่างทางเลือกใน regex ระหว่างอักขระที่จับและการทำซ้ำ ...
([az] AZ]) \ s? \ 1
ฉันค่อนข้างมั่นใจว่าคุณสามารถใช้ [Az] แทน [a-zA-Z] เพื่อรับอักขระอัลฟาตัวเล็กและตัวพิมพ์ใหญ่ http://www.w3schools.com/jsref/jsref_obj_regexp.asp
[A-z]
ตรงกับตัวอักษรมากกว่า โดยเฉพาะยังจับคู่วงเล็บเหลี่ยม, แบ็กสแลช, คาเร็ต, ขีดล่างและแบ็กติก
Z
และa
ดังนั้นก็จะรวมอยู่ในรูปแบบดังกล่าว (ผิดพลาด) ฉันแนะนำที่สอง: อย่าใช้ w3schools! มันมีข้อมูลที่ไม่ดีมากมายแบบนี้
[65-90]
จะจับคู่5
- 9
(ซึ่งรวมถึง6
) และ0
!
{2}
โดยไม่มีเครื่องหมายจุลภาคก็ควรใช้งานได้ใช่ไหม