Ben hemen hemen sadece temellerini bilmek, regex ile ilgili mastır kendimi demezdim. Onunla oynamak oldum, ama istenen sonucu almak için görünmüyor olabilir. Birisi bana yardımcı olurdu Yani, ben gerçekten çok seviniriz!
Ben istenmeyen kelime bir dize var wether kontrol etmek için çalışıyorum. Ben bir matematik proje üzerinde çalışıyorum, ve ben de dize hesaplamak için) (eval kullanarak değilim, bu yüzden güvenli olduğundan emin olmak gerekir.
(Yorumları okumak): dize Aşağıdaki kelimeleri (sadece şimdi örneğin, daha sonra daha fazla işlev ekleyeceğiz) içerebilir
floor() // spaces or numbers are allowed between the () chars. If possible, i'd also like to allow other math functions inside, so it'd look like: floor( floor(8)*1 ).
It may contain any digit, any math sign (+ - * /) and dots/commas (,.) anywhere in the string
Sadece temiz olması için, burada başka bir örnek: Böyle bir dizge ise, i do not bunu geçmek istiyorum:
9*9 + include('somefile') / floor(2) // Just a random example on something that's not allowed
Şimdi ben düşünüyorum da, bu tür karmaşık görünüyor. Ben en azından bana bazı ipuçları verebilir umuyoruz.
Thanks in advance, -Anthony
Düzenleme: Bu biraz konu dışı, ama matematik hesaplama fonksiyonu daha iyi bir yol biliyorum, bunu önermek için lütfen. Ben bir giriş dizesi hesaplar güvenli bir matematik sınıf / işlevi arıyorum, ama henüz bir sığınak bulundu.