Aşağıda benim kodudur ..Normal ifadede "*" yıldız işareti nasıl algılanır?
/(?!\*)/.test("test*test")
sonuç hala doğru dönün.
Dizede herhangi bir * varsa, false döndürecek dizeyi doğrulamak istiyorum.
Kodda bir sorun mu var?
Aşağıda benim kodudur ..Normal ifadede "*" yıldız işareti nasıl algılanır?
/(?!\*)/.test("test*test")
sonuç hala doğru dönün.
Dizede herhangi bir * varsa, false döndürecek dizeyi doğrulamak istiyorum.
Kodda bir sorun mu var?
Regex'iniz, başlangıç konumuyla eşleştiği için true değerini döndürür. Az önce söylediğin test "*
tarafından takip edilmeyen bir pozisyon var mı?" Tam olarak herhangi bir dizenin eşleşeceği - eşleşmeleri, *
sonrasında bir (noter) *
tarafından takip edilmeyen bir konum olduğu için eşleşir. regex ile Bunu yapmak
"test*test".indexOf("*") < 0 // true if no * in string
gibi bir şey olurdu:
Bir dize *
içermiyorsa test etmek isterseniz, en basit çözümdür
/^[^*]*$/.test("test*test")
Ama bu fazla iş .
Çok teşekkürler.Tüm beyin regex hakkında düşünmek ve tamamen indexOf unutmak oldu ... XD – Dreams
Bir noktada hepimize olur, eminim: D Regex bir Güçlü bir araç, ama bazen eldeki görev için çok güçlü. JQuery gibi. –
Basitçe çıktı
*
varlığı için test etmek ve etkisiz hale
var string="123*456";
console.log( !(/\*/.test(string)) );
false
var string="12*34*56";
console.log( !(/\*/.test(string)) );
false
var string="123456";
console.log( !(/\*/.test(string)) );
true
Sen ortadan kaldıran
'ile sonuçlanır sına sadece'/\ */'Sen çıkışını ortadan kaldıran –
:!' (/ \ * /. test (str)) – zhirzh