Modern RegEx Flavours (PCRE)
รวมถึง C, C ++, Delphi, EditPad, Java, JavaScript, Perl, PHP (preg), PostgreSQL, PowerGREP, PowerShell, Python, REALbasic, Real Studio, ทับทิม, TCL, VB.Net, VBScript, wxWidgets, XML Schema, Xojo, XRegExp
ความเข้ากันได้ของ PCRE อาจแตกต่างกันไป
ผู้แต่ง: . ^ $ * + - ? ( ) [ ] { } \ |
Legacy RegEx Flavors (BRE / ERE)
รวมถึง awk, ed, egrep, emacs, GNUlib, grep, PHP (ereg), MySQL, Oracle, R, sed
รองรับ PCRE อาจเปิดใช้งานในรุ่นที่ใหม่กว่าหรือโดยใช้ส่วนขยาย
ERE / awk / egrep / emacs
นอกคลาสอักขระ: . ^ $ * + ? ( ) [ { } \ |
ภายในคลาสอักขระ:^ - [ ]
BRE / เอ็ด / grep / sed
นอกคลาสตัวละคร: . ^ $ * [ \
ภายในคลาสอักขระ: ^ - [ ]
สำหรับตัวอักษรอย่าหลบหนี: + ? ( ) { } |
สำหรับพฤติกรรม regex มาตรฐาน Escape:\+ \? \( \) \{ \} \|
หมายเหตุ
- หากไม่แน่ใจเกี่ยวกับตัวละครเฉพาะสามารถหลบหนีได้เช่น
\xFF
- อักขระตัวอักษรผสมตัวเลขไม่สามารถหลีกเลี่ยงได้ด้วยแบ็กสแลช
- สัญลักษณ์ตามอำเภอใจสามารถหลบหนีด้วยแบ็กสแลชใน PCRE แต่ไม่สามารถใช้ BRE / ERE ได้ สำหรับ PCRE
] -
จำเป็นต้องหลบหนีภายในคลาสตัวละครเท่านั้น แต่ฉันเก็บไว้ในรายการเดียวเพื่อความเรียบง่าย
- สตริงนิพจน์ที่อ้างถึงจะต้องมีอักขระเครื่องหมายคำพูดล้อมรอบหนีและบ่อยครั้งที่เครื่องหมายแบ็กสแลชเพิ่มเป็นสองเท่า (เช่น
"(\")(/)(\\.)"
เมื่อเทียบกับ/(")(\/)(\.)/
JavaScript)
- นอกเหนือจากการหลบหนีการใช้งาน regex ที่แตกต่างกันอาจรองรับตัวดัดแปลงที่แตกต่างกันคลาสของตัวอักษรจุดยึดปริมาณและคุณสมบัติอื่น ๆ สำหรับรายละเอียดเพิ่มเติมตรวจสอบregular-expressions.infoหรือใช้regex101.comเพื่อทดสอบการแสดงออกของคุณมีชีวิตอยู่
escape()
" เพื่ออนุญาตให้ใช้สตริงที่กำหนดเองเป็นส่วน regex