Eğer bir yaşadığımızda bilinen deseni (bir Normİfd inşa etmek için bir değişken kullanmayın yani), kullanım değişmezi regex notasyonu sadece kullanmasının gerektiği durumlarda tek özel regex metakarakterlerini kaçmak için ters eğik çizgi:
var re = /I like your Apartment\. Could we schedule a viewing\?/g;
^^ ^^
Dinamik olarak bir RegExp oluşturmaya ihtiyaç duyduğunuzda, değişmez bir ters eğik çizgiyi belirtmek için ters eğik çizgileri iki katına çıkarmanız GEREKEN RegExp
yapıcı gösterimini kullanın :
var questionmark_block = "\\?";
var initial_subpattern = "I like your Apartment\\. Could we schedule a viewing";
var re = new RegExp(initial_subpattern + questionmark_block, "g");
Ve String.raw
dize değişmezini kullanırsanız \
, olduğu gibi kullanabilirsiniz (değişkenleri normal ifade kalıbına koyabileceğiniz bir şablon dizesi değişmezi kullanma örneğine bakın):
const questionmark_block = String.raw`\?`;
const initial_subpattern = "I like your Apartment\\. Could we schedule a viewing";
const re = new RegExp(`${initial_subpattern}${questionmark_block}`, 'g');
console.log(re);
Okunması gereken bir: RegExp: MDN'deki Açıklama .
str.search("?")
Bu kesinlikle bir hata gibi görünüyor çünkü bu bir normal ifade değil ve bir normal ifade olarak görülmemesi gerekiyor. 🤦