เพื่อให้ตรงกับคำที่สามารถใช้ได้
\v(\w+)
จากความช่วยเหลือเป็นกลุ่ม:h \w
:
\ w อักขระคำ: [0-9A-Za-z_]
สิ่งนี้ทำงานได้อย่างตรงตามที่อธิบายไว้ในคู่มือ แต่ผมต้องการที่จะตรงกับคำที่ประกอบด้วยอักขระเกินa-z
เช่น
prästgården การจับคู่นิพจน์ทั่วไป\v(\w+)
กับ
prästgårdenให้ผลเป็นสามการแข่งขันแทน:
prästgården
^^ ^^^ ^^^^
จะจับคู่คำที่มีตัวอักษรเกินได้a-z
อย่างไร สถานที่ตั้งของฉันถูกตั้งค่าเป็นภาษาอังกฤษและถ้าเป็นไปได้ฉันต้องการที่จะให้มันเป็นอย่างนั้น
แก้ไข:คำอาจไม่อยู่ในสถานที่เดียวเช่น
prästgården
treść
\p{Word}
แทนคลาสอักขระ POSIX มีหลายกรณียกเว้นในการจัดการคลาสอักขระ POSIX ของ Perl ซึ่งคุณหลีกเลี่ยงเมื่อคุณใช้คุณสมบัติ Unicode แทน
[[:alpha:]]\+
ในกรณีนี้) ควรทำสิ่งที่คุณต้องการที่นี่ แต่ตาม Vim docs (:help regex
) มันไม่ได้: "รายการเหล่านี้ใช้ได้กับอักขระ 8 บิตเท่านั้น" มันเกิดขึ้นกับการทำงานที่นี่กับ Vim 7.3 บน OS X 10.8 แต่ Vim 7.3 บน Linux ไม่ทำงานดังนั้นฉันจึงคิดว่ามีบางสิ่งที่เฉพาะเจาะจงเกี่ยวกับ Vim ของ Apple ที่อนุญาต คุณจะพบว่าการทำผ่านการเชื่อม Vim Perl ก็ล้มเหลวเช่นกันแม้ว่า Perl จะรองรับ Unicode ที่ดีมาก คุณอาจต้องเปลี่ยนไปใช้สคริปต์ Perl ภายนอกดังนั้นคุณสามารถเปิดการสนับสนุน Unicode แบบเต็ม