Javascript Regexp Lookaround

Anlam Ayrımı Bulunmuyor.

2021 yılında @freeman tarafından açılan bu başlık 1 entry ile zenginleşti ve 4 defa ziyaret edildi.

2 dakikada okunabilir.
Javascript'in regular expression motorunun desteklediği bir özelliktir.

Görevini anlaşılır bir dille açıklamak gerekirse düzenli ifadeler içinde karakter yakalamayan, sadece önden bi kontrol edip geri dönen koşul grupları oluşturmayı sağlar. Yani herhangi bir karakter yakalamadıkları gibi kontrol ettikleri karakterleri yemezler. Bu grubun dışına çıkıp tekrar o karakterleri bu defa capture eden başka ifadeler yazabilirsiniz.

4 tane türü bulunur. Hepsi de aslında parantez yardımıyla oluşturulan yakalama (capture) grupları gibidir. Tek farkları koşullar uyum sağlasa bile siz istemedikçe herhangi bir şeyi yakalamazlar. Sadece kontrol edip üzerinden geçer giderler.

# Positive Lookbehind
`/ * /` deseni yardımıyla oluşturulur.
Positive sözcüğünden de anlaşılacağı üzere, bu koşul grubu içine yazılan ifadelerin metin içinde var olması gerekir. Behind kavramı ise biraz karmaşıktır. Aslında regular expression sürekli ileri gider. Bir noktaya kadar geldikten sonra tekrar onun gerisine gidip bakmak gibi bir şans yoktur. İşte zaten bu nedenle positive lookbehind'ın düzenli ifadesini, öncesine bakmak istediğimiz ifadenin soluna (öncesine) yazmamız gerekir.

Örneğin uzun bir metin içinden sadece negatif (önünde eksi işareti olan) sayıları bulmak için bunu kullanabiliriz. Eksi işaretini yakalamaya gerek duymayız çünkü zaten elde edeceğimiz negatif sayıların negatif olacaklarından eminizdir.

/<bkz type="short" space="">?<=-</bkz>\d+/g

# Negative Lookbehind
Adından da anlaşılacağı üzere bu türden bir grubun içine yazılacak ifadelerin metinde olmaması gerekir. Positive lookbehind'dan tek farkı budur. `/ * /` deseniyle oluşturulur.

# Positive Lookahead
Bunun da positive lookbehind'dan tek farkı diğer ifadelerin sağ tarafına yazılması. Böylece ahead> yani ileri doğru bakmayı sağlar. `/ * /` deseniyle oluşturulur.

# Negative Lookahead
`/ * /` deseniyle oluşturulur. İçine, ileride olmaması gereken şeylerle eşleşen bir desen yazılmalıdır. Böylece bu desenle eşleşme sağlanırsa bu grubun önünde bulunan ifade veya grubun da eşleşmediği varsayılır.