x

บทหลัก

  1. LimeSurvey Cloud เทียบกับ LimeSurvey CE
  2. คู่มือเริ่มต้นใช้งานฉบับย่อ - LimeSurvey 3.0+
  3. การติดตั้ง - LimeSurvey CE
  4. วิธีออกแบบแบบสำรวจที่ดี (คู่มือ)
  5. เริ่มต้นใช้งาน
  6. การดูแลระบบ LimeSurvey
  7. แบบสำรวจ - บทนำ
  8. การตั้งค่าแบบสอบถาม
  9. เมนูสำรวจ
  10. โครงสร้างการสำรวจ
  11. คำถาม - บทนำ
  12. กลุ่มคำถาม - บทนำ
  13. แบบสำรวจ - การจัดการ
  14. ตัวเลือกแถบเครื่องมือแบบสำรวจ
  15. แบบสำรวจหลายภาษา
  16. ExpressionScript Engine - คู่มือเริ่มต้นอย่างรวดเร็ว
  17. ฟีเจอร์ขั้นสูงและฟีเจอร์ที่ไม่ได้จัดหมวดหมู่
  18. คำถามที่พบบ่อยทั่วไป
  19. การแก้ไขปัญหา
  20. วิธีแก้ปัญหาชั่วคราว (Workarounds)
  21. สัญญาอนุญาต
  22. บันทึกการเปลี่ยนแปลงของเวอร์ชัน
  23. ปลั๊กอิน
 Actions

การใช้นิพจน์ปรกติ (Regular Expression)

From LimeSurvey Manual

หน้านี้อาจแปลด้วยเครื่องและอาจมีข้อผิดพลาด ดูต้นฉบับภาษาอังกฤษ · ปรับปรุงคำแปลนี้
This page is a translated version of the page Using regular expressions and the translation is 100% complete.

นิพจน์ปรกติต้องขึ้นต้นและลงท้ายด้วยเครื่องหมายทับ ("/") คุณสามารถค้นหานิพจน์ปรกติดี ๆ ได้จากคลังที่ https://www.regexlib.net/ รูปแบบเหล่านี้เกือบทั้งหมดจะใช้งานได้ หากครอบด้วยเครื่องหมายทับ

หากต้องการทดสอบ regex ของคุณ สามารถ ใช้เครื่องมือทดสอบ regex นี้ ได้

To improve this wiki section, we kindly ask you to add your successfully tested regular expression(s) to provide a better understanding of this feature to the new LimeSurvey (potential) users.
  Attention : โปรดทราบว่าตัวอย่างทั้งหมดด้านล่างเขียนอยู่ในบรรทัดเดียว!



สำคัญ: นิพจน์ปรกติในเงื่อนไข

โปรดทราบว่าเมื่อใช้นิพจน์ปรกติในตัวแก้ไขเงื่อนไข อย่าใส่เครื่องหมายทับที่ขึ้นต้นและลงท้าย


การตรวจสอบอีเมล

อัปเดต (12/2018): ปัจจุบันชื่อโดเมนสามารถมีอักขระพิเศษ เช่น “ü” และยังใช้ชื่อโดเมนที่ยาวกว่า 3 อักขระได้ เช่น .tech หรือ .company ดังนั้น regex อีเมลด้านล่างจึงตรวจสอบเพียงว่ามี “@” และ “.” อยู่ในที่อยู่อีเมลที่กรอกหรือไม่

/^.+?@.+?\..+$/

หากต้องการตรวจสอบที่อยู่หนึ่งรายการต่อบรรทัด ในช่องข้อความยาวแบบหลายบรรทัด:

/^(((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\n)?\n?)+)*)$/

regex ที่ล้าสมัยนี้จำกัดชื่อโดเมนไว้ที่ 3 อักขระ ซึ่งไม่ครอบคลุมโดเมนทั้งหมดที่มีอยู่:

/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/

รหัสไปรษณีย์

รหัสไปรษณีย์ออสเตรเลีย:

/^[0-9]{4}/

รหัสไปรษณีย์บราซิล

/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/

รหัสไปรษณีย์แคนาดา

/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/

รหัสไปรษณีย์สหรัฐอเมริกา

/^[0-9]{5}([- /]?[0-9]{4})?$/

หากต้องการให้รหัสไปรษณีย์ขึ้นต้นด้วยศูนย์ ให้ใช้:

/^[0-9]{5}(?:-[0-9]{4})?$/

รหัสไปรษณีย์สหราชอาณาจักร

/^[A-Z][A-Z]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i

โปรดทราบว่านิพจน์นี้ไม่แม่นยำนัก และการตรวจสอบที่แม่นยำกว่านี้ซับซ้อนกว่ามาก ตัวอย่างเช่น ดูข้อมูลเพิ่มเติมได้จาก StackOverflow answer และ Wikipedia

รหัสไปรษณีย์ฝรั่งเศส

/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/

นิพจน์ข้างต้นแม่นยำมาก และจะตรวจสอบว่ามีแผนก (Department) ของฝรั่งเศสนั้นอยู่จริงหรือไม่ (สองหลักแรก) รวมถึงแผนกและดินแดนโพ้นทะเล (DOM-TOM)


หมายเลขโทรศัพท์

หมายเลขโทรศัพท์สหรัฐอเมริกา

/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/

หรือ

/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/

ตัวเลือกที่สองนี้จะจับคู่หมายเลขโทรศัพท์ของแคนาดาและสหรัฐอเมริกาทั้งหมดที่มีสัญลักษณ์ที่ไม่ใช่ตัวเลข ซึ่งรวมถึง:

 . ( ) - (space)

ซึ่งจะช่วยให้คุณจับคู่หมายเลขโทรศัพท์ที่มีลักษณะดังต่อไปนี้:

  • (555)555 5555
  • 555.555.5555
  • 555 555 5555
  • (555)-555-5555
  • 555-555-5555
  • 555555555

หมายเลขโทรศัพท์ออสเตรเลีย

รูปแบบต่อไปนี้จับคู่หมายเลขโทรศัพท์มือถือและโทรศัพท์บ้านของออสเตรเลียทุกแบบ รวมถึงแบบที่มีคำนำหน้ารหัสประเทศ "+61":

  • (02) 9123 6535
  • 03 1234-5345
  • 0412 345 678
  • +61 2 3456 789

แต่ไม่ตรงกับ:

  • 234 3450 234
  • a234 534 3432
  • 134567
  • 123456789013

เครื่องหมายวงเล็บ ช่องว่าง และเครื่องหมายยัติภังค์จะถูกละเว้น

เวอร์ชัน 'แม่นยำมาก:' ที่แสดงไว้ที่นี่จะตรวจสอบตัวเลขสี่หรือห้าหลักแรกของหมายเลข เพื่อให้แน่ใจว่าเป็นหมายเลขของออสเตรเลียที่ถูกต้อง

เวอร์ชัน 'แม่นยำไม่มาก:' จะตรวจสอบเฉพาะหลักแรกและหลักที่สองเท่านั้น จึงอาจยอมรับหมายเลขที่ไม่ถูกต้อง

หมายเลขโทรศัพท์ทั้งหมดของออสเตรเลีย (มือถือและโทรศัพท์บ้าน - ต้องระบุรหัสพื้นที่)

แม่นยำมาก:

/^\(?(?:\+?61|0)(?:(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}|4\)?[ -]?(?:(?:[01][ -]?[0-9]|2[ -]?[0-57-9]|3[ -]?[1-9]|4[ -]?[7-9]|5[ -]?[018])[ -]?[0-9]|3[ -]?0[ -]?[0-5])(?:[ -]?[0-9]){5})$/

แม่นยำไม่มาก:

/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/

หมายเลขโทรศัพท์ทั้งหมดของออสเตรเลีย (เฉพาะโทรศัพท์บ้าน - ต้องระบุรหัสพื้นที่)

แม่นยำมาก:

/^\(?(?:\+?61|0)(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}$/

แม่นยำไม่มาก:

/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/

หมายเลขโทรศัพท์บ้านในนิวเซาท์เวลส์ (ไม่จำเป็นต้องระบุรหัสพื้นที่)

แม่นยำมาก:

/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/

แม่นยำไม่มาก:

/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/

หมายเลขโทรศัพท์บ้านในวิกตอเรียและแทสเมเนีย (ไม่จำเป็นต้องระบุรหัสพื้นที่)

แม่นยำมาก:

/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/

แม่นยำไม่มาก:

/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/

หมายเลขโทรศัพท์บ้านในควีนส์แลนด์ (ไม่จำเป็นต้องระบุรหัสพื้นที่)

แม่นยำมาก:

/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/

แม่นยำไม่มาก:

/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/

หมายเลขโทรศัพท์บ้านในเซาท์ออสเตรเลีย นอร์เทิร์นเทร์ริทอรี และเวสเทิร์นออสเตรเลีย (ไม่จำเป็นต้องระบุรหัสพื้นที่)

แม่นยำมาก:

/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/

แม่นยำไม่มาก:

/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/

หมายเลขโทรศัพท์มือถือของออสเตรเลียเท่านั้น

แม่นยำมาก:

/^(?:\+?61|0)4 ?(?:(?:[01] ?[0-9]|2 ?[0-57-9]|3 ?[1-9]|4 ?[7-9]|5 ?[018]) ?[0-9]|3 ?0 ?[0-5])(?: ?[0-9]){5}$/

แม่นยำไม่มาก:

/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/

หมายเลขโทรศัพท์ของเบลเยียม

/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2}){2}$/

หมายเลขโทรศัพท์มือถือของเบลเยียม

/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/

หมายเลขโทรศัพท์ของฝรั่งเศส

/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/

หมายเลขโทรศัพท์มือถือของฝรั่งเศส

/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/

หมายเลขโทรศัพท์ของลักเซมเบิร์ก

/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/

หมายเลขโทรศัพท์มือถือของลักเซมเบิร์ก

/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/

เกรดของเยอรมนี (มีเครื่องหมายบวกหรือลบได้ตามต้องการ)

/^[1-6]{1}[\+|\-]?$/


การตรวจสอบอายุ

ตัวอย่าง: อายุ 20-99 ปี

/([2-9][0-9])/

ตัวอย่าง: อายุ 18-35 ปี

/(1[8-9]|2[0-9]|3[0-5])/

ตัวอย่าง: อายุ 19-65 ปี

/^(1[8-9]|[2-5][0-9]|6[0-5])$/


การตรวจสอบตัวเลข

ตัวเลขตั้งแต่ 1 ถึง 99999

/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/
/^[1-9][0-9]{0,4}$/ does the same as above but should run a little faster

ตัวเลขตั้งแต่ 1 ถึง 999, 1.000 ถึง 999.999 ถึง 999.999.999

/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/

ยอมรับตัวเลขตั้งแต่ 1 ถึง 999, 1.000 ถึง 999.999 ถึง 999.999.999 แต่ ไม่ยอมรับตัวเลข เช่น 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333

การตรวจสอบตัวเลขพร้อมทศนิยมแบบไม่บังคับ (สำหรับราคา)

รับตัวเลขตั้งแต่ 0 ถึง 199 โดยทศนิยม 2 ตำแหน่งเป็นตัวเลือก:

/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9])?$/

การตรวจสอบตัวเลขพร้อมตัวคั่นหลักพัน

ใช้ช่องว่างเป็นตัวคั่น ไม่รับเครื่องหมายลบ

/^(?!0)\d{1,3}(\ \d{3})*$/

ใช้จุดเป็นตัวคั่น รับเครื่องหมายลบได้

/^-?(?!0)\d{1,3}(\.\d{3})*$/

นิพจน์นี้บังคับให้มีทศนิยมสองตำแหน่ง และรับตัวเลขตั้งแต่ 1.00 ถึง 999,999,999.00 โดยจะมีเครื่องหมายจุลภาคคั่นหลักพัน/หลักล้านหรือไม่ก็ได้ รวมถึงตัวเลขทั้งหมดต่อไปนี้: 1.00, 1,000.00, 12,345.67, 12345,02, 123,456,468.00, 1234566.00, 123456789.00 แต่ไม่รับ 1,23.00, 12,3.4 หรือ 1234,43.04

/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/

คล้ายกับด้านบน: บังคับให้มีทศนิยมสองตำแหน่ง แต่รับ "0" ก่อนตัวคั่นทศนิยม ","

/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/

เหมือนด้านบน แต่ทศนิยมสองตำแหน่งเป็นตัวเลือก:

/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/

เดือน (1-12)

หากต้องการถามเดือนเกิดของบุคคล คุณสามารถตรวจสอบข้อมูลที่กรอกได้ดังนี้:

/^[0]*[1-9]$|^[0]*1[0-2]$/

ความกว้างขั้นต่ำ (ตั้งเป็น 3 ในตัวอย่างนี้)

/^.{3,}$/


สกุลเงิน

สกุลเงินดอลลาร์สหรัฐ (เครื่องหมายดอลลาร์และเซนต์เป็นตัวเลือก)

/^\$?\d+(\.(\d{2}))?$/

ตรวจสอบการใช้เครื่องหมายจุลภาค:

/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/

ราคาแบบสวิส

ตัวเลขที่มีทศนิยมสองตำแหน่งหลังจุดทศนิยม โดยตำแหน่งสุดท้ายต้องเป็น 5 หรือ 0:

/^(\d+)(\.\d(05)?)?$/


การตรวจสอบคะแนน

1-10

/^[1-9]{1}$|^10$/

1-100

/^[1-9]?[0-9]{1}$|^100$/


การตรวจสอบข้อความ

ประเภทคำถามข้อความสั้นหลายรายการยังไม่รองรับการกำหนดจำนวนคำตอบขั้นต่ำหรือสูงสุดในขณะนี้ วิธีหนึ่งในการแก้ปัญหาคือใช้ประเภทคำถามข้อความแบบยาวร่วมกับนิพจน์ปรกติ

นิพจน์ด้านล่างตรวจสอบว่ามีอย่างน้อยหนึ่งคำต่อบรรทัด ตั้งแต่ 3 บรรทัดขึ้นไปแต่ไม่เกิน 10 บรรทัด:

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){2,10}/is

หากต้องการให้มี เช่น ห้าคำต่อบรรทัด คุณสามารถเปลี่ยนเครื่องหมายดอกจันตัวแรกและตัวสุดท้ายเป็น {4,}:

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/is

หากต้องการให้มีหนึ่งคำขึ้นไปต่อบรรทัด (ระหว่างบรรทัดที่ 1 ถึงบรรทัดที่ 5) คุณสามารถเปลี่ยนค่าในวงเล็บปีกกาตัวสุดท้ายเป็น 0,4 (โปรดทราบว่าใช้ 0 เพราะบรรทัดแรกถูกจับคู่ไปแล้ว)

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){0,4}/is

จำนวนคำ

นิพจน์ต่อไปนี้จำกัดจำนวนคำที่อนุญาตให้มีขั้นต่ำ 1 คำและสูงสุด 200 คำ:
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/
หากต้องการเพิ่มค่าขั้นต่ำ ให้เปลี่ยนส่วนที่เป็นศูนย์ใน {0,199}

หากต้องการเพิ่มหรือลดค่าสูงสุด ให้เปลี่ยนส่วน "199" ใน {0,199}

การตรวจสอบเวลา

รูปแบบเวลามีหลายวิธีในการเขียน ตัวเลือกที่เป็นไปได้เช่น แบบ 12 ชั่วโมงหรือ 24 ชั่วโมง แบบมีวินาทีหรือไม่มีวินาที แม้ว่าจะสามารถใช้ประเภทคำถามวันที่ได้ (ซึ่งสามารถเก็บเวลาได้เช่นกัน) แต่คุณสามารถใช้ประเภทคำถามข้อความแบบสั้นร่วมกับนิพจน์ปรกติสำหรับการตรวจสอบอย่างใดอย่างหนึ่งด้านล่างนี้ได้

สตริงสำหรับการตรวจสอบสามรายการต่อไปนี้ใช้ตรวจสอบเวลาแบบ 24 ชั่วโมง (ตามลำดับ) โดยแบบแรกไม่มีวินาที แบบที่สองมีวินาทีเป็นตัวเลือก และแบบสุดท้ายต้องมีวินาที:

/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/

สามรายการต่อไปนี้ใช้จับคู่เวลาแบบ 12 ชั่วโมง เช่นเดียวกับด้านบน คือแบบมีวินาที แบบมีวินาทีเป็นตัวเลือก และแบบต้องมีวินาที:

/^(?">00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/

สามรายการต่อไปนี้ใช้จับคู่เวลาแบบ 12 หรือ 24 ชั่วโมง เช่นเดียวกับด้านบน คือแบบมีวินาที แบบมีวินาทีเป็นตัวเลือก และแบบต้องมีวินาที:

/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/
/^(?:(?:00:[0-5][0-9](?[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?[0-5][0-9])?)$/
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/

รัฐของสหรัฐอเมริกา

หากต้องการตรวจสอบรัฐเดียว ให้ใช้รูปแบบต่อไปนี้ (ตัวอย่างคือรัฐเท็กซัส):

  • TX ตัวพิมพ์ใหญ่เท่านั้น:
    /^(TX)$/
    
  • tx ตัวพิมพ์เล็กเท่านั้น:
    /^(tx)$/
    
  • TX ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก:
    /^([T|t][X|x])$/
    


ตัวกรองคำหยาบ

วิธีกรองคำหยาบออกจากคำตอบ:

/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/

แทนที่ "ENTERPROFANITYHERE" ด้วยคำหยาบที่คุณต้องการกรอง

\b จะอนุญาตให้คำเช่น "assassination" และ "สวัสดี" (hello) ผ่านได้ หากคุณระบุ "ass" หรือ "hell" เป็นคำหยาบ วิธีนี้ยังใช้ได้เมื่อคุณต้องการตัดคำอื่น ชื่อ ฯลฯ ออกจากคำตอบด้วย


ลิงก์ที่เป็นประโยชน์

ในช่วงต้นของส่วนวิกินี้ เราแนะนำให้คุณใช้ https://regex101.com/ เพื่อทดสอบ/สร้าง regular expression นอกจากนี้ คุณยังสามารถใช้ https://www.regextester.com/ เพื่อสร้างนิพจน์ได้ หากคุณไม่พอใจกับตัวเลือกแรก และคุณสามารถใช้ https://extendsclass.com/regex-tester.html เพื่อแสดง regular expression ในรูปแบบภาพได้