Ambil ekspresi reguler ini: /^[^abc]/
. Ini akan cocok dengan karakter tunggal apa pun di awal string, kecuali a, b, atau c.
Jika Anda menambahkan *
setelahnya - /^[^abc]*/
- ekspresi reguler akan terus menambahkan setiap karakter berikutnya ke hasilnya, hingga memenuhi salah satu a
, atau b
, atau c
.
Misalnya, dengan string sumber "qwerty qwerty whatever abc hello"
, ekspresi akan cocok dengan "qwerty qwerty wh"
.
Tetapi bagaimana jika saya ingin string yang cocok menjadi "qwerty qwerty whatever "
... Dengan kata lain, bagaimana saya bisa mencocokkan semuanya hingga (tetapi tidak termasuk) urutan yang tepat "abc"
?
"qwerty qwerty whatever "
- tidak termasuk "abc". Dengan kata lain, saya tidak ingin pertandingan yang dihasilkan terjadi "qwerty qwerty whatever abc"
.
do string.split('abc')[0]
. Tentu bukan jawaban resmi untuk masalah ini, tapi saya merasa lebih mudah daripada regex.
match but not including
?