PCRE regex'i kullanmaya ve SED'de kullanmaya çalışıyorum, ancak bazı sorunlara rastlıyorum. Lütfen bu sorunun daha büyük bir konunun (SUE ile çalışmak için PCRE regex'ini nasıl dönüştürdüğüne dair) olduğunu unutmayın, bu nedenle soru sadece aşağıdaki örnekle ilgili değildir, fakat SUE regex'inin bütün olarak PCRE regex'inin nasıl kullanılacağı ile ilgilidir.PCRE Regex to SED
Bu örnek, bir e-posta adresini bir satırdan ayıklamak ve "[emailaddr]" ile değiştirmektir. | Bulabilirsiniz | yerini | g özetlendiği gibi
([a-zA-Z0-9]+[@][a-zA-Z0-9]+[\.][A-Za-z]{2,4})
[a-zA-Z0-9]+[@][a-zA-Z0-9]+[\.][A-Za-z]{2,4}
([a-zA-Z0-9]+[@][a-zA-Z0-9]+[.][A-Za-z]{2,4})
[a-zA-Z0-9]+[@][a-zA-Z0-9]+[.][A-Za-z]{2,4}
ben s// g ila lar bul/değiştir gelen sed ayrılmış değişen denedim:
echo "My email is [email protected]" | sed -e 's/[a-zA-Z0-9]+[@][a-zA-Z0-9]+[\.][A-Za-z]{2,4}/[emailaddr]/g'
ben yerine aşağıdaki regex denedim here (stack overflow: pcre regex to sed regex).
SED'deki PCRE regex'ini nasıl kullanabileceğinizi veya PCRE regex'in SED'ye nasıl dönüştürüleceğini hala öğrenemiyorum. Herhangi bir yardım harika olurdu.
Not kaçmak zorunda: '[.]' iyidir. Ayrıca, '' 'düzenli ifadelerde hiç de özel değildir, bu yüzden parantez içine koymanıza gerek yoktur (göründüğü gibi değil) –
Bahşiş için teşekkürler. – Sugitime
Sadece bir ipucu, perl'e çok benzer bir şekilde sed sözcüğünü (sözdizimi) kullanabileceğinizi biliyorsunuz ve tabii ki PCRE 'yi destekliyor perl -pe'/oldstring/newstring/'' – Tiago