Python:
การใช้เรกุลาร์เอ็กเพรสชัน
วิธีการ:
การใช้ regex ใน Python เกี่ยวข้องกับโมดูล re ซึ่งมีชุดของฟังก์ชันเพื่อประมวลผลข้อความโดยใช้ regular expressions
การจับคู่รูปแบบพื้นฐาน
เพื่อค้นหารูปแบบในสตริง ให้ใช้ re.search() จะมีการคืนค่าเป็นอ็อบเจกต์ match เมื่อพบรูปแบบนั้น ไม่เช่นนั้นจะเป็น None
import re
text = "เรียนภาษา Python"
match = re.search("Python", text)
if match:
print("พบรูปแบบ!")
else:
print("ไม่พบรูปแบบ.")ผลลัพธ์:
พบรูปแบบ!การคอมไพล์ Regular Expressions
สำหรับการใช้รูปแบบเดียวกันซ้ำๆ คอมไพล์มันไว้ก่อนด้วย re.compile() เพื่อประสิทธิภาพที่ดีขึ้น
pattern = re.compile("Python")
match = pattern.search("เรียนภาษา Python")
if match:
print("พบรูปแบบที่คอมไพล์!")ผลลัพธ์:
พบรูปแบบที่คอมไพล์!การแบ่งสตริง
เพื่อแบ่งสตริงทุกครั้งที่พบกับรูปแบบ regex ให้ใช้ re.split()
result = re.split("\s", "Python สนุก")
print(result)ผลลัพธ์:
['Python', 'สนุก']การหาคำที่ตรงกันทั้งหมด
เพื่อหาทุกครั้งที่ไม่ซ้อนทับกันของรูปแบบ ใช้ re.findall()
matches = re.findall("น", "การเขียนโปรแกรม Python")
print(matches)ผลลัพธ์:
['น', 'น']การแทนที่ข้อความ
ใช้ re.sub() เพื่อแทนที่รูปแบบที่พบด้วยสตริงใหม่
replaced_text = re.sub("สนุก", "เจ๋ง", "Python สนุก")
print(replaced_text)ผลลัพธ์:
Python เจ๋งไลบรารี่ของบุคคลที่สาม
แม้โมดูล re ที่มีอยู่ใน Python จะมีประสิทธิภาพสูง ไลบรารีของบุคคลที่สามเช่น regex มีคุณสมบัติเพิ่มเติมและประสิทธิภาพที่เหนือกว่า เพื่อใช้ regex ติดตั้งผ่าน pip (pip install regex) และนำเข้าในโค้ดของคุณ
import regex
text = "เรียน Python 3.8"
match = regex.search(r"Python\s(\d+\.\d+)", text)
if match:
print(f"พบเวอร์ชัน: {match.group(1)}")ผลลัพธ์:
พบเวอร์ชัน: 3.8