Что означает?= Означает в регулярном выражении?
Можно узнать что ?=
значит в регулярном выражении? Например, каково его значение в этом выражении:
(?=.*\d).
3 ответа
?=
является положительным взглядом, тип утверждения нулевой ширины. Это говорит о том, что за захваченным совпадением должно следовать то, что находится в скобках, но эта часть не фиксируется.
Ваш пример означает, что за соответствием должно следовать ноль или более символов, а затем цифра (но опять же эта часть не фиксируется).
(?= шаблон) - положительное прогнозное утверждение нулевой ширины. Например, /\w+(?=\t)/
соответствует слову, за которым следует вкладка, без включения вкладки в $&
,
Выражение ниже найдет последний номер, заданный в имени файла перед его расширением (исключая точку (.)).
'\d+(?=\.\w+$)'
file4.txt будет соответствовать 4.
file123.txt будет соответствовать 123.
demo.3.js будет соответствовать 3 и так далее.
Если вы хотите замаскировать номер кредитной карты (кроме) последних 4 цифр / символов, вы можете использовать
?=
в вашем регулярном выражении.
cc = "1234-5678"
cc.replace(/.(?=....)/g, '#');
cc =
#####5678