คำถามติดแท็ก regex

นิพจน์ทั่วไปจัดเตรียมภาษาที่ประกาศเพื่อจับคู่รูปแบบภายในสตริง โดยทั่วไปจะใช้สำหรับการตรวจสอบความถูกต้องสตริงการแยกวิเคราะห์และการแปลง เนื่องจากนิพจน์ทั่วไปนั้นไม่ได้มาตรฐานอย่างสมบูรณ์คำถามทั้งหมดที่มีแท็กนี้จึงควรมีแท็กที่ระบุภาษาการเขียนโปรแกรมหรือเครื่องมือที่เกี่ยวข้อง หมายเหตุ: การขอ HTML, JSON และอื่น ๆ regex มีแนวโน้มที่จะพบกับปฏิกิริยาเชิงลบ หากมีการแยกวิเคราะห์มันใช้ที่แทน

6
จับคู่และลบอักขระที่ซ้ำซ้อน: แทนที่เหตุการณ์ที่ไม่ต่อเนื่องหลายรายการ (3+) ติดต่อกัน
ฉันกำลังมองหาregexลวดลายที่จะเข้าคู่กับตัวละครตัวที่สามสี่ ... ตัวละครแต่ละตัว ดูคำอธิบายด้านล่าง: ตัวอย่างเช่นฉันมีสตริงต่อไปนี้: 111aabbccxccybbzaa1 ฉันต้องการแทนที่อักขระที่ซ้ำกันทั้งหมดหลังจากที่เกิดขึ้นครั้งที่สอง ผลลัพธ์จะเป็น: 11-aabbccx--y--z--- บางรูปแบบของ regex ที่ฉันลองมา: ใช้ regex ต่อไปนี้ฉันสามารถค้นหาการเกิดขึ้นครั้งสุดท้ายของตัวละครแต่ละตัว: (.)(?=.*\1) หรือใช้อันนี้ฉันสามารถทำได้เพื่อทำซ้ำติดต่อกัน แต่ไม่ใช่สำหรับการทำซ้ำ: ([a-zA-Z1-9])\1{2,}
9 python  r  regex  string 

5
วิธีการแยกย่อยเซตย่อยของ Markdown ลงในส่วนประกอบ React
ฉันมีชุดย่อยของ Markdown ขนาดเล็กมากพร้อมกับ html แบบกำหนดเองบางส่วนที่ฉันต้องการแยกวิเคราะห์เป็นส่วนประกอบของ React ตัวอย่างเช่นฉันต้องการเปลี่ยนสตริงต่อไปนี้: hello *asdf* *how* _are_ you !doing! today เป็นอาร์เรย์ต่อไปนี้: [ "hello ", <strong>asdf</strong>, " ", <strong>how</strong>, " ", <em>are</em>, " you ", <MyComponent onClick={this.action}>doing</MyComponent>, " today" ] จากนั้นส่งคืนจากฟังก์ชั่น React render (React จะสร้างอาเรย์อย่างเหมาะสมในรูปแบบ HTML) โดยทั่วไปฉันต้องการให้ผู้ใช้มีตัวเลือกในการใช้ชุด Markdown ที่ จำกัด เพื่อเปลี่ยนข้อความของพวกเขาให้เป็นองค์ประกอบที่มีสไตล์ (และในบางกรณีองค์ประกอบของตัวเอง!) มันไม่ฉลาดนักที่จะอันตราย SetInnerHTML และฉันไม่ต้องการพึ่งพาภายนอกเพราะมันหนักมากและฉันต้องการฟังก์ชั่นพื้นฐานมาก ตอนนี้ฉันกำลังทำอะไรแบบนี้ แต่มันเปราะบางมากและไม่สามารถใช้ได้กับทุกกรณี …

1
Perl regex เทียบกับ Raku regex ความแตกต่างในเครื่องยนต์?
ฉันพยายามแปลงโซลูชันที่ใช้ regex สำหรับปัญหาเครื่องหลังจาก Perl เป็น raku รายละเอียดเกี่ยวกับPerlmonks โซลูชัน Perl สร้าง regex นี้: (?<P>(?:vvvvvvvvvv)?) (?<B>(?:vv)?) (?<Y>(?:vvvv)?) (?<G>(?:vv)?) (?<R>(?:v)?) 0 (?= (?(?{ $1 })wwww|) (?(?{ $2 })w|) (?(?{ $3 })wwwwwwwwwwww|) (?(?{ $4 })ww|) (?(?{ $5 })w|) ) vvvvvvvvvvvvvvvvvvv0wwwwwwwwwwwwwwwที่ได้รับการจับคู่กับ หลังจากนั้นแฮชของการจับคู่จะ%+มีรายการที่จะใส่ในกระสอบ การแปลง raku ของฉันคือ: $<B> = [ [ vv ]? ] $<P> = [ …
9 regex  raku 

4
แยกสตริงบนตัวพิมพ์ใหญ่หรือตัวเลข
ฉันพยายามที่จะสร้างไพพ์ใน typescript ที่จะแยกสตริง PascalCase แต่มันจะดีถ้ามันจะแบ่งเป็นตัวเลขด้วยเช่นกัน ฉันต้องการให้แยกตามตัวอักษรพิมพ์ใหญ่ต่อเนื่อง ฉันมีไพพ์นี้ซึ่งใช้งานได้ดียกเว้นว่าใช้งานได้เฉพาะใน Chrome และไม่ใช่ Firefox เท่านั้น Chrome เท่านั้นที่รองรับการมองย้อนหลัง จะทำสิ่งนี้ให้สำเร็จโดยไม่มองย้อนกลับไปได้อย่างไร transform(value: string): string { let extracted = ''; if (!value) { return extracted; } const regExSplit = value .split(new RegExp('(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?<=[0-9])(?=[A-Z][a-z])|(?<=[a-zA-Z])(?=[0-9])')); for (let i = 0; i < regExSplit.length; i++) { if (i !== regExSplit.length - 1) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.