คำถามติดแท็ก nested-reference

3
เราจะจับคู่ ^ nb ^ n กับ Java regex ได้อย่างไร
นี่เป็นส่วนที่สองของชุดบทความเกี่ยวกับ regex เพื่อการศึกษา มันแสดงให้เห็นว่า lookaheads และการอ้างอิงที่ซ้อนกันสามารถนำมาใช้เพื่อให้ตรงกับ languge ไม่ใช่ปกติnขn การอ้างอิงแบบซ้อนเป็นครั้งแรกใน: regex นี้ค้นหาตัวเลขสามเหลี่ยมได้อย่างไร หนึ่งในภาษาที่ไม่ใช่ภาษาทั่วไปตามแบบฉบับคือ: L = { an bn: n > 0 } นี่คือภาษาของทุกสายไม่ว่างเปล่าซึ่งประกอบด้วยจำนวนของบางa's ตามด้วยจำนวนที่เท่ากันb' s ตัวอย่างของสตริงในภาษานี้มีab, ,aabbaaabbb ภาษานี้สามารถแสดงให้เป็นที่ไม่ปกติโดยแทรกสูบน้ำ มันมีอยู่ในความเป็นจริงตามแบบฉบับภาษาบริบทฟรีซึ่งสามารถสร้างขึ้นโดยไวยากรณ์บริบทฟรี S → aSb | ab อย่างไรก็ตามการติดตั้ง regex ในยุคปัจจุบันสามารถจดจำได้มากกว่าภาษาทั่วไปอย่างชัดเจน นั่นคือพวกเขาไม่ "ปกติ" ตามนิยามทฤษฎีภาษาที่เป็นทางการ PCRE และ Perl รองรับ regex แบบเรียกซ้ำและ. NET รองรับการกำหนดกลุ่มที่สมดุล คุณลักษณะที่ "แฟนซี" น้อยกว่าเช่นการจับคู่การอ้างอิงกลับหมายความว่านิพจน์ทั่วไปไม่ปกติ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.