Python regex abaikan case sensitif

Mengembalikan Seri atau Indeks boolean berdasarkan apakah pola atau regex tertentu terkandung dalam string Seri atau Indeks

Parameter. tepuk . str

Urutan karakter atau ekspresi reguler

kasus . bool, default Benar

Jika True, peka huruf besar-kecil

bendera . int, default 0 (tanpa tanda)

Bendera untuk melewati modul re, mis. g. ulang. ABAIKAN KASUS

na . NaN bawaan

Isi nilai untuk nilai yang hilang

regex . bool, default Benar

Jika Benar, asumsikan tepukan adalah ekspresi reguler

Jika Salah, perlakukan pat sebagai string literal

Pengembalian. Seri atau Indeks nilai boolean

Serangkaian atau Indeks nilai boolean yang menunjukkan apakah pola yang diberikan terdapat dalam string setiap elemen Seri atau Indeks

Lihat juga

Analog, tapi lebih ketat, mengandalkan re. cocokkan, bukan re. mencari. Uji apakah awal setiap elemen string cocok dengan pola. Sama seperti startingwith, tetapi menguji akhir string

Contoh

Mengembalikan Serangkaian boolean hanya menggunakan pola literal

>>> s1 = pd.Series(['Mouse', 'dog', 'house and parrot', '23', np.NaN])
>>> s1.str.contains('og', regex=False)
0    False
1     True
2    False
3    False
4      NaN
dtype: object

Mengembalikan Indeks boolean hanya menggunakan pola literal

>>> ind = pd.Index(['Mouse', 'dog', 'house and parrot', '23.0', np.NaN])
>>> ind.str.contains('23', regex=False)
Index([False, False, False, True, nan], dtype='object')
_

Menentukan sensitivitas huruf besar-kecil menggunakan huruf besar-kecil

>>> s1.str.contains('oG', case=True, regex=True)
0    False
1    False
2    False
3    False
4      NaN
dtype: object

Menentukan na menjadi False alih-alih NaN menggantikan nilai NaN dengan False. Jika Seri atau Indeks tidak mengandung nilai NaN, dtype yang dihasilkan akan menjadi bool, jika tidak, objek dtype

>>> s1.str.contains('og', na=False, regex=True)
0    False
1     True
2    False
3    False
4    False
dtype: bool

Mengembalikan 'rumah' atau 'anjing' saat salah satu ekspresi muncul dalam sebuah string

>>> s1.str.contains('house|dog', regex=True)
0    False
1     True
2     True
3    False
4      NaN
dtype: object
_

Mengabaikan sensitivitas huruf menggunakan flag dengan regex

>>> import re
>>> s1.str.contains('PARROT', flags=re.IGNORECASE, regex=True)
0    False
1    False
2     True
3    False
4      NaN
dtype: object

Mengembalikan digit apa pun menggunakan ekspresi reguler

>>> s1.str.contains('\d', regex=True)
0    False
1    False
2    False
3     True
4      NaN
dtype: object
_

Pastikan pat bukan pola literal saat regex disetel ke True. Perhatikan dalam contoh berikut ini orang mungkin hanya mengharapkan s2[1] dan s2[3] untuk mengembalikan True. Namun, '. 0 'sebagai regex cocok dengan karakter apa pun yang diikuti oleh 0

Bagaimana cara mengabaikan kasus

ABAIKAN KASUS. Tanda ini memungkinkan pencocokan Ekspresi Reguler yang tidak peka huruf besar-kecil dengan string yang diberikan i. e. ekspresi seperti [A-Z] akan cocok dengan huruf kecil juga. Secara umum, Ini diteruskan sebagai argumen opsional untuk re. menyusun().

Bagaimana cara mengabaikan sensitivitas huruf besar-kecil di regex?

(? i) membuat regex case tidak sensitif. (? c) membuat regex peka huruf besar-kecil.

Bagaimana Anda mengabaikan kasus

Pendekatan No 1. Metode Python String lower() . Metode lower() mengonversi semua karakter dalam string menjadi huruf kecil, membuatnya lebih mudah untuk membandingkan dua string.

Apakah kasus pencocokan regex

Secara default, perbandingan string input dengan karakter literal apa pun dalam pola ekspresi reguler bersifat peka huruf besar-kecil , spasi putih dalam pola ekspresi reguler ditafsirkan sebagai white-literal .