Saya mencoba menulis ekspresi reguler yang hanya akan memungkinkan huruf kecil dan hingga 10 karakter. Apa yang saya lihat sejauh ini:
pattern: /^[a-z]{0,10}+$/
Ini tidak berfungsi atau dikompilasi. Saya punya yang berfungsi yang hanya akan memungkinkan huruf kecil yang ini:
pattern: /^[a-z]+$/
Tapi saya perlu membatasi jumlah karakter hingga 10.
^[a-z]{0,10}+$
kompilasi pola pada beberapa bahasa dan beberapa yang terkenal adalah Java, Perl (5.10+), PHP, Ruby (1.9+). Lihat halaman ini untuk detail lebih lanjut.Jawaban:
Anda dapat menggunakan kurung kurawal untuk mengontrol jumlah kejadian. Misalnya, ini berarti 0 hingga 10:
Opsinya adalah:
Lihat referensi ekspresi reguler .
Ekspresi Anda memiliki tanda + setelah kurung kurawal penutupan, karenanya kesalahan.
sumber
^
untuk mencocokkan properti HANYA permintaan dengan nama seperti1234
atau5678
, dan saya harus menyertakan tanda $/^[a-z]{0,10}$/
harus bekerja./^[a-z]{1,10}$/
jika Anda ingin mencocokkan setidaknya satu karakter, seperti/^[a-z]+$/
halnya.sumber
Mungkin bermanfaat untuk menambahkan kecocokan serakah ke akhir string, sehingga Anda dapat menerima string> dari 10 dan regex hanya akan kembali hingga 10 karakter pertama.
/^[a-z0-9]{0,10}$?/
sumber
Ini sangat tergantung pada program yang Anda gunakan. Program yang berbeda ( Emacs , vi , sed , dan Perl ) menggunakan ekspresi reguler yang sedikit berbeda. Dalam hal ini, saya akan mengatakan bahwa dalam pola pertama, "+" terakhir harus dihapus.
sumber
Memberikan penghitungan dengan penghitungan kecocokan persis dengan batas
sumber