Ruby:
שימוש בביטויים רגולריים
איך ל:
התאמה בסיסית
כדי להתאים מחרוזת לדפוס פשוט, ניתן להשתמש במתודת match
. למטה, אנו בודקים אם המילה “Ruby” קיימת במחרוזת נתונה.
if /Ruby/.match("Hello, Ruby!")
puts "נמצאה התאמה!"
end
# Output: נמצאה התאמה!
התאמת דפוסים עם משתנים
ניתן להטמיע משתנים בביטוי הרגולרי שלכם באמצעות תחביר ה-#{}
, מה שהופך את הדפוסים שלכם לדינמיים.
language = "Ruby"
if /#{language}/.match("תכנות בRuby זה כיף.")
puts "מדברים על Ruby!"
end
# Output: מדברים על Ruby!
שימוש בביטויים רגולריים לצורך החלפה
המתודה gsub
מאפשרת לכם להחליף כל תופעה של דפוס במחרוזת החלפה שצוינה.
puts "foobarfoo".gsub(/foo/, "bar")
# Output: barbarbar
לכידה
סוגריים בביטוי רגולרי משמשים ללכידת חלקים מההתאמה. המתודה match
מחזירה אובייקט מסוג MatchData
, שניתן להשתמש בו כדי לגשת ללכידות.
match_data = /(\w+): (\d+)/.match("Age: 30")
puts match_data[1] # תווית שנלכדה
puts match_data[2] # ערך שנלכד
# Output:
# Age
# 30
שימוש בספריות צד שלישי
למרות שספריית הסטנדרט של רובי חזקה, לפעמים עשויים להיות צורך בפונקציונליות מתמחה יותר. גם עבור עבודה עם ביטויים רגולריים, Oniguruma
הוא gem פופולרי, המספק תכונות נוספות מעבר למנוע הביטויים הרגולריים הטמע ברובי.
התקנה באמצעות:
gem install oniguruma
שימוש בדוגמה יכול להיראות כך (בהנחה שדרשתם את oniguruma
לאחר ההתקנה):
# זוהי דוגמה מתקדמת יותר ועשויה לדרוש הגדרה נוספת
require 'oniguruma'
pattern = Oniguruma::ORegexp.new('(\d+)')
match_data = pattern.match("מספר הוא 42.")
puts match_data[1]
# Output: 42
זכרו, למרות שהם חזקים, ביטויים רגולריים יכולים להפוך למורכבים וקשים לניהול עבור דפוסים מורכבים יותר. שאפו לקריאות, ושקלו שיטות חלופיות אם הביטוי הרגולרי שלכם הופך ליותר מידי מסובך.