in javascript
console.log(/x(?=b[1-9])/.test('xb2')); // true console.log(/x(?=b[1-9])$/.test('xb2')); // false
what is difference?
The first pattern x(?=b[1-9])
matches x
which is then followed by b
and a digit. The input xb2
matches this.
The second pattern x(?=b[1-9])$
is conflicting, and can never match anything. This pattern says to match:
x the letter x
(?=b[1-9]) assert that b and 1-9 follows
$ match end of the input
It is impossible for b[1-9]
to follow x
while at the same time x
is the end of the input. Use the first version in your question.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.