ฉันกำลังใช้ sed ฉันใช้ regex ที่ถูกต้องเท่าที่ฉันจะเห็น แต่ sed ไม่ได้ทำอะไร ปรากฎว่าฉันใช้\s+
ซึ่ง sed ไม่สามารถเข้าใจและเมื่อฉันเปลี่ยนไป[ ]+
ใช้งานได้
ดังนั้นเพื่อสรุปฉันสร้าง regex เพื่อให้ทำงานฉันต้องหลบหนีเกือบทุกอย่างและลบ\s
ช่องว่างออก ดูเหมือนว่ามีโหมดที่จะหลีกเลี่ยงสิ่งเหล่านี้ทั้งหมดซึ่งเป็น-r
ดังนั้นฉันต้องการถาม:
- เหตุใดจึงไม่
-r
เป็นโหมดเริ่มต้นสำหรับ sed ทำไมฉันต้องไปเจอปัญหามากมายเพื่อหลบหนีทุกอย่าง? man
บอกว่ามีตัวเลือก--posix
และ "POSIX.2 BREs ควรได้รับการสนับสนุน" สิ่งนี้อ้างถึงอะไร โหมด NFA / DFA
\s+
ใช้Perl[[:space:]][:space:]]*
ใน BRE และเหมือนกันหรือ[[:space:]]+
ใน ERE