การแสดงออกปกติด้วย backreferences มากกว่าตัวอักษรเอก


18

การตั้งค่า:

  • นิพจน์ปกติที่มีการอ้างอิงย้อนกลับ
  • ภาษาเดียว (ตัวอักษรสัญลักษณ์ 1 ตัว)

ปัญหาต่อไปนี้สามารถแก้ไขได้ในการตั้งค่านี้:

  • ได้รับการแสดงออกปกติด้วย backreferences มันกำหนดภาษาปกติหรือไม่

ตัวอย่างเช่น(aa+)\1กำหนดภาษาปกติโดยที่(aa+)\1+ไม่ทำเช่นนั้น เราสามารถตัดสินใจได้ว่าจะใช้กรณีใด


สำหรับ concreteness "นิพจน์ทั่วไปที่มีการอ้างอิงย้อนกลับ" ที่นี่อ้างถึงเช่นชุดย่อยต่อไปนี้ของนิพจน์ปกติที่เข้ากันได้กับ Perl ปกติ :

  • aจับคู่อักขระa( อักขระเพียงตัวเดียวในตัวอักษร)
  • X* ตรงกับ 0 หรือมากกว่าที่เกิดขึ้นของ X
  • X|Yจับคู่XหรือY
  • วงเล็บสามารถใช้สำหรับการจัดกลุ่มและการจับภาพ
  • \1. \2และอื่น ๆ จับคู่สตริงเดียวกันกับวงเล็บคู่ที่ 1, 2 และอื่น ๆ

นอกจากนี้เรายังสามารถใช้ shorthands ปกติเช่น=X+XX*


1
คุณได้สำรวจวิธีการนับเช่นการตรวจสอบลำดับของ? ฉันคิดว่าคุณคุ้นเคยกับงานของ Freydenberger หรือไม่ |Ln|
Raphael

คำตอบ:


4

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


ยินดีต้อนรับสู่เว็บไซต์! ฉันได้เพิ่มการอ้างอิงแบบเต็มลงในกระดาษของคุณ
David Richerby
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.