ฉันต้องการใช้อินพุตจากผู้ใช้เป็นรูปแบบ regex สำหรับการค้นหาข้อความ มันใช้งานได้ แต่ฉันจะจัดการกรณีที่ผู้ใช้ใส่อักขระที่มีความหมายใน regex ได้อย่างไร ตัวอย่างเช่นผู้ใช้ต้องการค้นหา Word (s)
: เครื่องมือ regex จะใช้(s)
เป็นกลุ่ม "(s)"
ฉันต้องการที่จะรักษามันเหมือนสตริง ฉันสามารถเรียกใช้replace
ในการป้อนข้อมูลของผู้ใช้และแทนที่(
ด้วย\(
และ)
ด้วย\)
แต่ปัญหาคือฉันจะต้องเปลี่ยนทุกสัญลักษณ์ regex คุณรู้วิธีที่ดีกว่านี้ไหม?
repl
อาร์กิวเมนต์re.sub
เป็นสตริงไม่ regex นั้น การนำre.escape
ไปใช้กับมันไม่ได้ทำให้รู้สึกใด ๆ ในสถานที่แรก