içerim daha önce oldukça benzer bir soru sordu ve bu regex uygulamaya ondalık sayılar "x", "^", "(", "24", "-", "3", "x", ")"
her karakter yarmaya ama tutarak sayılar için Regex ve birlikte
Şimdi bir String'i aynı koşullarda ayırmam gerek, ondalık sayıları bir arada tutmam gerekiyor. ATM, (0.5)
gibi bir girdi: "(", "0", ".", "5", ")"
ama bir string
gibi gruplanmış kalmak için ondalık sayıya ihtiyacım var: "(", "0.5", ")"
. [0-9]+|[a-z]+|[()^*/+-]
gibi örnek bir şeye, yani bir veya daha fazla sayı için, sen jeton arasında
yerine kayma, neden '\ d + gibi bir şey aramayın | \ w +: Ayrıca çoklu karakter operatörleri varsa, bu tür
!=
veya<=
olarak, başka bir ayrılmalara bu değişebilir + - * /] '? –Birinden bir cevap alabilirsiniz ... ama yanlış yere baktığınız için çok güçlü bir his var. Daha sonra, iç içe köşeli parantez vb. Ile değerlendirmek isterseniz, bunu normalden ziyade düzgün dilbilgisi ayrıştırıcısıyla yapıyor olmalısınız. Başlangıçta biraz daha fazla iş, ama çok yakında ödeme yapar ve gelecekteki gereksinimleri karşılamak için izin verecektir –
@ ArturBiesiadowski, regex bir dilbilgisi ayrıştırıcı için bir giriş akışı belirtmek için mükemmel geçerli bir yoldur. Her şeyden sonra eski 'lex' iyi işler. –