Menggunakan Lookaheads untuk Mengehadkan Panjang Aksara dalam Ungkapan Biasa
Apabila bekerja dengan ungkapan biasa, selalunya perlu mengehadkan bilangan aksara yang sepadan corak tertentu. Walau bagaimanapun, percubaan untuk menggunakan pengkuantiti pada sauh, seperti yang dilihat dalam contoh berikut, boleh membawa kepada ralat:
var test = /^(a-z|A-Z|0-9)*[^$%^&*;:,<>?()""']*${1,15}/ // Uncaught SyntaxError: Invalid regular expression
Untuk mengatasi had ini, kita boleh menggunakan pandangan yang berlabuh pada permulaan rentetan input.
^(?=.{1,15}$)[a-zA-Z0-9]*[^$%^&*;:,<>()?""']*$
Pandangan ke hadapan ini memastikan bahawa aksara seterusnya memenuhi syarat berikut:
Dengan menggunakan pendekatan ini, kami secara berkesan mengehadkan panjang keseluruhan rentetan input kepada 15 aksara sambil masih membenarkan yang ditentukan corak untuk dipadankan dalam had tersebut.
Nota Penting
Atas ialah kandungan terperinci Bagaimanakah Lookaheads Boleh Membantu dalam Mengehadkan Panjang Aksara dalam Regex?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!