หน้าแรก
หน้าแรก
โดยทั่วไปจะใช้ออบเจ็กต์ทูเพิลเพื่อกำหนดโครงสร้างข้อมูลโดยใส่ค่าฟิลด์ที่คั่นด้วยเครื่องหมายจุลภาคไว้ในวงเล็บ ค่าของแต่ละฟิลด์จะถูกระบุโดยดัชนีในทูเพิล >>> student=(1,"Ravi",23, 546) >>> rollno=student[0] >>> name=student[1] >>> age=student[2] >>>
รหัสต่อไปนี้ตรงกับคำว่า เชียร์ ที่ต้นสตริง ผู้นำเชียร์ที่สนามฟุตบอล ^-จับคู่จุดเริ่มต้นของสตริง ตัวอย่าง import re s = 'cheer leaders at the football stadium' result = re.search(r'^\w+', s) print result.group() ผลลัพธ์ ให้ผลลัพธ์ cheer
รหัสต่อไปนี้ตรงกับคำว่า stadium ที่ท้ายสตริง ผู้นำเชียร์ที่สนามฟุตบอล $-จับคู่ส่วนท้ายของสตริง ตัวอย่าง import re s = 'cheer leaders at the football stadium' result = re.search(r'\w+$', s) print result.group() ผลลัพธ์ สิ่งนี้ให้ผลลัพธ์ stadium
แฟล็ก re.DOTALL บอกให้ไพ ธ อนสร้างอักขระพิเศษ . ให้ตรงกับอักขระทั้งหมด รวมทั้งอักขระขึ้นบรรทัดใหม่ด้วย import re paragraph = \ This is a paragraph. It has multiple lines. match = re.search(r<p>.*</p>, paragraph, re.DOTALL) print match.group(0) เอาท์พุต This is a paragraph. It
โค้ดต่อไปนี้ตรงกับรูปแบบ 3 As และ 4 Bs ในสตริงที่กำหนดดังนี้ ตัวอย่าง import re foo = 'AAABBBBBB' match = re.search(r'A{3}B{4}', foo) print match.group() ผลลัพธ์ AAABBBB
เราสามารถใช้รหัสต่อไปนี้เพื่อจับคู่สระตัวพิมพ์เล็กในสตริงที่กำหนดดังนี้ ตัวอย่าง import re foo = 'AefuToiJnmna' match = re.findall(r'[a,e,i,o,u]', foo) print match ผลลัพธ์ ให้ผลลัพธ์ ['e', 'u', 'o', 'i', 'a']
โค้ดต่อไปนี้จับคู่และพิมพ์อักขระตัวพิมพ์ใหญ่ในสตริงที่กำหนดโดยใช้นิพจน์ทั่วไปของ python ดังนี้ ตัวอย่าง import re foo = 'MozamBiQuE' match = re.findall(r'[A-Z]', foo) print match ผลลัพธ์ สิ่งนี้ให้ผลลัพธ์ ['M', 'B', 'Q', 'E']
เครื่องหมายอัฒภาคเป็นทางเลือกใน Python ใน JavaScript มันเป็นทางเลือกเช่นกัน แต่แนวทางปฏิบัติที่ดีในการเพิ่มมันและบางครั้งก็จำเป็นในกรณีของคำสั่งบางข้อความ หากในข้อความสั่งเหล่านี้ ไม่ได้ใส่เครื่องหมายอัฒภาค จะมีการเพิ่มอัฒภาคโดยอัตโนมัติ แต่อาจเปลี่ยนวัตถุประสงค์ของโค้ดได้ สิ่งนี้เรียกว่าการแทรกอัฒภ
โค้ดต่อไปนี้จับคู่และพิมพ์อักขระที่ไม่ใช่ตัวเลขทั้งหมดในสตริงที่กำหนดโดยใช้ python regex ดังนี้ ตัวอย่าง import re foo = 'Mo4zam5Bi6QuE7' match = re.findall(r'\D', foo) print match ผลลัพธ์ สิ่งนี้ให้ผลลัพธ์ ['M', 'o', 'z', 'a', 'm', 'B'
เราใช้โค้ดต่อไปนี้เพื่อจับคู่และพิมพ์อักขระตัวเดียวในสตริงที่กำหนดโดยใช้นิพจน์ทั่วไปของ python ซึ่งตรงกับอักขระตัวเดียวในสตริงที่กำหนด ตัวอย่าง import re foo = 'https://www/twitter/index.php 403' result = re.findall(r'.', foo) print result ผลลัพธ์ สิ่งนี้ให้ผลลัพธ์ ['h',
^ # จุดเริ่มต้นของสตริง (?! # ไม่ตรงกัน if |2{1,2}5) # หรือมี 2 วินาทีหนึ่งหรือสองตามด้วย 5 .* # อย่างอื่นเป็นที่ยอมรับ ตัวอย่าง รหัสต่อไปนี้เป็นไปตามเงื่อนไขในคำถามที่กำหนด import re foo = '2249678' foo2 = '2259678' result = re.findall(r'^(?!2{1,2}5).*&
สิ่งที่น่าสนใจยิ่งขึ้นเมื่อคุณใช้ + และ * เพื่อระบุการทำซ้ำในรูปแบบ • + - มีรูปแบบทางด้านซ้ายอย่างน้อย 1 ครั้ง เช่น i+ =หนึ่งหรือมากกว่า is • * -- 0 รูปแบบขึ้นไปทางด้านซ้ายของรูปแบบ • ? -- จับคู่ 0 หรือ 1 ครั้งของรูปแบบทางด้านซ้าย ตัวอย่าง โค้ดต่อไปนี้ตอบคำถามด้านบน import re s = "sheeeeeeeep
เมธอด re.groups() เมธอดนี้ส่งคืนทูเพิลที่มีกลุ่มย่อยทั้งหมดของการแข่งขัน ตั้งแต่ 1 จนถึงจำนวนกลุ่มที่อยู่ในรูปแบบ อาร์กิวเมนต์เริ่มต้นใช้สำหรับกลุ่มที่ไม่ได้เข้าร่วมในการแข่งขัน มีค่าเริ่มต้นเป็นไม่มี ในเวอร์ชันที่ใหม่กว่า (ตั้งแต่ 1.5.1 เป็นต้นไป) singleton tuple จะถูกส่งคืนในกรณีดังกล่าว ตัวอย่าง
การจัดกลุ่ม เราจัดกลุ่มส่วนของนิพจน์ทั่วไปโดยใส่ไว้ในวงเล็บ วิธีนี้เราใช้โอเปอเรเตอร์กับกลุ่มแทนอักขระตัวเดียว การจับกลุ่มและการอ้างอิงย้อนกลับ วงเล็บไม่เพียงแต่นิพจน์ย่อยของกลุ่ม แต่ยังสร้างการอ้างอิงย้อนกลับอีกด้วย ส่วนของสตริงที่จับคู่โดยส่วนที่จัดกลุ่มของนิพจน์ทั่วไป จะถูกเก็บไว้ใน backreference
การจัดกลุ่ม เราจัดกลุ่มส่วนของนิพจน์ทั่วไปโดยล้อมด้วยวงเล็บ นี่คือวิธีที่เราใช้โอเปอเรเตอร์กับกลุ่มทั้งหมดแทนที่จะเป็นอักขระตัวเดียว การจับกลุ่ม วงเล็บไม่เพียงแต่นิพจน์ย่อยของกลุ่ม แต่ยังสร้างการอ้างอิงย้อนกลับอีกด้วย ส่วนของสตริงที่จับคู่โดยส่วนที่จัดกลุ่มของนิพจน์ทั่วไป จะถูกเก็บไว้ใน backreferen
ทางเลือกและการใช้งาน ในการใช้งานจริง เรามักใช้นิพจน์ทั่วไปที่ตรงกับทางเลือกหนึ่งในสองทางเลือกหรือมากกว่า นอกจากนี้ บางครั้งเราใช้ตัวระบุปริมาณเพื่อนำไปใช้กับนิพจน์ต่างๆ เป้าหมายดังกล่าวทั้งหมดทำได้โดยการจัดกลุ่มด้วยวงเล็บ และในการใช้ทางเลือกอื่น ให้ใช้การสลับกับแถบแนวตั้ง (|) การใช้แถบแนวตั้ง(|) Alt
จุดยึดคือโทเค็น regex ที่ไม่ตรงกับอักขระใด ๆ แต่ที่พูดหรือยืนยันบางอย่างเกี่ยวกับสตริงหรือกระบวนการจับคู่ จุดยึดแจ้งให้เราทราบว่าตำแหน่งปัจจุบันของเครื่องยนต์ในสตริงตรงกับตำแหน่งที่กำหนด เช่น จุดเริ่มต้นของสตริง/บรรทัด หรือจุดสิ้นสุดของสตริง/บรรทัด การยืนยันประเภทนี้มีประโยชน์ด้วยเหตุผลหลายประการ อ
โค้ดต่อไปนี้แสดงวิธีการเพิ่มพื้นที่ก่อนและหลังไพพ์ | อักขระในสตริงที่กำหนด ตัวอย่าง import re regex = r'\b[|:]\b' s = "abracadabra abraca|dabara | abra cadabra abra ca dabra abra ca dabra abra" print(re.sub(regex, ' \g<0> ', s)) ผลลัพธ์ ให้ผลลัพธ์ abracadabra abraca
ตั้งแต่ Python 3.0 เป็นต้นไป จึงเป็นไปไม่ได้ที่จะกำหนด tuple ที่คลายแพ็กเป็นพารามิเตอร์ในฟังก์ชัน (PEP 3113) หมายความว่าหากคุณพยายามกำหนดฟังก์ชันดังต่อไปนี้ − def fn(a,(b,c)): pass ตัวแปล Python แสดงข้อผิดพลาดทางไวยากรณ์ที่วงเล็บแรกของ tuple ให้กำหนดวัตถุทูเพิลเป็นพารามิเตอร์และแกะภา
เมธอด index() ที่มีให้สำหรับ List (รวมถึงประเภทลำดับอื่นๆ เช่น string และ tuple) มีประโยชน์ในการค้นหาการเกิดขึ้นครั้งแรกขององค์ประกอบเฉพาะในนั้น >>> L1=['a', 'b', 'c', 'a', 'x'] >>> L1 ['a', 'b', 'c', 'a', '