Yalnızca metin tam eşleşiyorsa eşleşecek normal ifade (önemliyse JavaScript'te) nedir? Yani, dizenin diğer ucunda fazladan karakter olmamalıdır.
Ben maç için çalışıyorum Örneğin, abc
daha sonra, 1abc1
, 1abc
, ve abc1
maç olmaz.
Yalnızca metin tam eşleşiyorsa eşleşecek normal ifade (önemliyse JavaScript'te) nedir? Yani, dizenin diğer ucunda fazladan karakter olmamalıdır.
Ben maç için çalışıyorum Örneğin, abc
daha sonra, 1abc1
, 1abc
, ve abc1
maç olmaz.
Yanıtlar:
Başlangıç ve bitiş sınırlayıcılarını kullanın: ^abc$
^abc def ghi$
/^(?:abc|def)$/
veya /^(abc|def)$/
. Aksi takdirde, grup kullanılmazsa, dizenin başlangıcında VEYA dizenin sonunda /^abc|def$/
eşleşir . abc
def
Değişir. Yapabilirdiniz
string.match(/^abc$/)
Ancak bu şu dizeyle eşleşmez: 'alfabenin ilk 3 harfi abc'dir. abc123 değil '
Bence \b
(kelime sınırları) kullanmak isteyeceksiniz :
var str = 'the first 3 letters of the alphabet are abc. not abc123';
var pat = /\b(abc)\b/g;
console.log(str.match(pat));
Canlı örnek: http://jsfiddle.net/uu5VJ/
Eski çözüm sizin için işe yararsa, bunu kullanmamanızı tavsiye ederim.
Bu, aşağıdaki gibi bir şeye sahip olabileceğiniz anlamına gelir:
var strs = ['abc', 'abc1', 'abc2']
for (var i = 0; i < strs.length; i++) {
if (strs[i] == 'abc') {
//do something
}
else {
//do something else
}
}
Kullanabilirken
if (str[i].match(/^abc$/g)) {
//do something
}
Çok daha fazla kaynak yoğun olacaktır. Benim için genel bir kural, basit bir dize karşılaştırması için koşullu bir ifade kullanmak, daha dinamik bir desen için normal bir ifade kullanmaktır.
JavaScript ifadeleri hakkında daha fazla bilgi: https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions
"^" "$" Satırının başlangıcı için. Örneğin.:
var re = /^abc$/;
"Abc" ile eşleşir, ancak "1abc" veya "abc1" ile eşleşmez. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions adresinden daha fazla bilgi edinebilirsiniz.
\babc\b
; bu da örneğin123 abc 123
eşleşmesine izin verirabc
(ancak sorudaki gibi olumsuz örnekleri değil); ancak, dizenin başında ve sonunda^abc$
olduğundan emin olur - aksi takdirde eşleşmez.a
c