Saya ingin menggunakan input dari pengguna sebagai pola regex untuk pencarian beberapa teks. Ini berfungsi, tetapi bagaimana saya bisa menangani kasus di mana pengguna menempatkan karakter yang memiliki makna di regex? Misalnya, pengguna ingin mencari Word (s)
: mesin regex akan mengambil (s)
sebagai grup. Saya ingin memperlakukannya seperti string "(s)"
. Saya dapat menjalankan replace
input pengguna dan mengganti (
dengan \(
dan )
dengan \)
tetapi masalahnya adalah saya harus melakukan penggantian untuk setiap simbol regex yang mungkin. Apakah Anda tahu cara yang lebih baik?
repl
argumen untukre.sub
adalah string, bukan regex; menerapkannyare.escape
tidak masuk akal sejak awal.repl
argumennya bukan string sederhana, itu diuraikan. Misalnya,re.sub(r'(.)', r'\1', 'X')
akan kembaliX
, bukan\1
.repl
argumen: stackoverflow.com/q/49943270/247696Silakan coba:
\ Q dan \ E sebagai jangkar
Menempatkan Atau kondisi untuk mencocokkan kata lengkap atau regex.
Tautan Ref: Cara mencocokkan seluruh kata yang menyertakan karakter khusus di regex
sumber