String ganti python case tidak sensitif

Baik pola maupun string yang akan dicari dapat berupa string Unicode[] maupun string 8-bit[]. Namun, string Unicode dan string 8-bit tidak dapat dicampur. yaitu, Anda tidak dapat mencocokkan string Unicode dengan pola byte atau sebaliknya;

Ekspresi reguler menggunakan karakter garis miring terbalik [

prog = re.compile[pattern]
result = prog.match[string]
4] untuk menunjukkan bentuk khusus atau untuk mengizinkan karakter khusus digunakan tanpa menyebutkan arti khusus mereka. Ini bertabrakan dengan penggunaan karakter yang sama oleh Python untuk tujuan yang sama dalam literal string; . Juga, harap perhatikan bahwa urutan escape yang tidak valid dalam penggunaan garis miring terbalik di Python dalam string literal sekarang menghasilkan a dan di masa mendatang ini akan menjadi a. Perilaku ini akan terjadi meskipun merupakan urutan escape yang valid untuk ekspresi reguler

Solusinya adalah menggunakan notasi string mentah Python untuk pola ekspresi reguler; . Jadi

result = re.match[pattern, string]
_1 adalah string dua karakter yang berisi
prog = re.compile[pattern]
result = prog.match[string]
4 dan
result = re.match[pattern, string]
3, sedangkan
result = re.match[pattern, string]
4 adalah string satu karakter yang berisi baris baru. Biasanya pola akan diekspresikan dalam kode Python menggunakan notasi string mentah ini

Penting untuk dicatat bahwa sebagian besar operasi ekspresi reguler tersedia sebagai fungsi dan metode tingkat modul. Fungsinya adalah pintasan yang tidak mengharuskan Anda untuk mengompilasi objek regex terlebih dahulu, tetapi melewatkan beberapa parameter penyempurnaan

Lihat juga

Modul regex pihak ketiga, yang memiliki API yang kompatibel dengan modul pustaka standar, tetapi menawarkan fungsionalitas tambahan dan dukungan Unicode yang lebih menyeluruh

Sintaks Ekspresi Reguler

Ekspresi reguler [atau RE] menentukan sekumpulan string yang cocok dengannya;

Ekspresi reguler dapat digabungkan untuk membentuk ekspresi reguler baru; . Secara umum, jika senar p cocok dengan A dan senar lain q cocok dengan B, maka senar pq akan cocok dengan AB. Ini berlaku kecuali A atau B berisi operasi dengan prioritas rendah; . Dengan demikian, ekspresi kompleks dapat dengan mudah dibangun dari ekspresi primitif yang lebih sederhana seperti yang dijelaskan di sini. Untuk perincian teori dan implementasi ekspresi reguler, lihat buku Friedl , atau hampir semua buku teks tentang konstruksi kompiler

Penjelasan singkat tentang format ekspresi reguler berikut. Untuk informasi lebih lanjut dan presentasi yang lebih lembut, lihat

Ekspresi reguler dapat berisi karakter khusus dan biasa. Sebagian besar karakter biasa, seperti

result = re.match[pattern, string]
_6,
result = re.match[pattern, string]
7, atau
result = re.match[pattern, string]
8, adalah ekspresi reguler yang paling sederhana; . Anda dapat menggabungkan karakter biasa, jadi
result = re.match[pattern, string]
9 cocok dengan string
>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
0. [Di sisa bagian ini, kami akan menulis RE di
>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
1, biasanya tanpa tanda kutip, dan string untuk dicocokkan
>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
2. ]

Beberapa karakter, seperti

>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
_3 atau
>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
4, bersifat spesial. Karakter khusus mewakili kelas karakter biasa, atau memengaruhi cara ekspresi reguler di sekitarnya ditafsirkan

Pengulangan operator atau bilangan [

>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
5,
>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
6,
>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
7,
>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
8, dll] tidak dapat langsung disarangkan. Ini menghindari ambiguitas dengan akhiran pengubah non-rakus
>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
7, dan dengan pengubah lain dalam implementasi lain. Untuk menerapkan pengulangan kedua ke pengulangan dalam, tanda kurung dapat digunakan. Misalnya, ekspresi
>>> re.split[r'[\W+]', '...words, words...']
['', '...', 'words', ', ', 'words', '...', '']
_0 cocok dengan kelipatan enam
result = re.match[pattern, string]
7 karakter

Karakter khusus adalah

>>> re.split[r'[\W+]', '...words, words...']
['', '...', 'words', ', ', 'words', '...', '']
_2

[Dot. ] Dalam mode default, ini cocok dengan karakter apa pun kecuali baris baru. Jika flag telah ditentukan, ini cocok dengan karakter apa pun termasuk baris baru

>>> re.split[r'[\W+]', '...words, words...']
['', '...', 'words', ', ', 'words', '...', '']
_4

[Tanda sisipan. ] Cocok dengan awal string, dan dalam mode juga cocok segera setelah setiap baris baru

>>> re.split[r'[\W+]', '...words, words...']
['', '...', 'words', ', ', 'words', '...', '']
_6

Mencocokkan akhir string atau tepat sebelum baris baru di akhir string, dan dalam mode juga cocok sebelum baris baru.

>>> re.split[r'[\W+]', '...words, words...']
['', '...', 'words', ', ', 'words', '...', '']
8 cocok dengan 'foo' dan 'foobar', sedangkan ekspresi reguler
>>> re.split[r'[\W+]', '...words, words...']
['', '...', 'words', ', ', 'words', '...', '']
9 hanya cocok dengan 'foo'. Lebih menarik lagi, mencari
>>> re.split[r'\b', 'Words, words, words.']
['', 'Words', ', ', 'words', ', ', 'words', '.']
>>> re.split[r'\W*', '...words...']
['', '', 'w', 'o', 'r', 'd', 's', '', '']
>>> re.split[r'[\W*]', '...words...']
['', '...', '', '', 'w', '', 'o', '', 'r', '', 'd', '', 's', '...', '', '', '']
_0 di
>>> re.split[r'\b', 'Words, words, words.']
['', 'Words', ', ', 'words', ', ', 'words', '.']
>>> re.split[r'\W*', '...words...']
['', '', 'w', 'o', 'r', 'd', 's', '', '']
>>> re.split[r'[\W*]', '...words...']
['', '...', '', '', 'w', '', 'o', '', 'r', '', 'd', '', 's', '...', '', '', '']
1 biasanya cocok dengan 'foo2', tetapi 'foo1' dalam mode; . satu tepat sebelum baris baru, dan satu lagi di akhir string

>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
5

Menyebabkan RE yang dihasilkan cocok dengan 0 atau lebih pengulangan dari RE sebelumnya, sebanyak mungkin pengulangan.

>>> re.split[r'\b', 'Words, words, words.']
['', 'Words', ', ', 'words', ', ', 'words', '.']
>>> re.split[r'\W*', '...words...']
['', '', 'w', 'o', 'r', 'd', 's', '', '']
>>> re.split[r'[\W*]', '...words...']
['', '...', '', '', 'w', '', 'o', '', 'r', '', 'd', '', 's', '...', '', '', '']
6 akan cocok dengan 'a', 'ab', atau 'a' diikuti dengan sejumlah 'b'

>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
6

Menyebabkan RE yang dihasilkan cocok dengan 1 atau lebih pengulangan dari RE sebelumnya.

>>> re.split[r'\b', 'Words, words, words.']
['', 'Words', ', ', 'words', ', ', 'words', '.']
>>> re.split[r'\W*', '...words...']
['', '', 'w', 'o', 'r', 'd', 's', '', '']
>>> re.split[r'[\W*]', '...words...']
['', '...', '', '', 'w', '', 'o', '', 'r', '', 'd', '', 's', '...', '', '', '']
8 akan cocok dengan 'a' diikuti dengan angka 'b' yang bukan nol;

>>> re.split[r'\W+', 'Words, words, words.']
['Words', 'words', 'words', '']
>>> re.split[r'[\W+]', 'Words, words, words.']
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split[r'\W+', 'Words, words, words.', 1]
['Words', 'words, words.']
>>> re.split['[a-f]+', '0a3B9', flags=re.IGNORECASE]
['0', '3', '9']
7

Menyebabkan RE yang dihasilkan cocok dengan 0 atau 1 pengulangan dari RE sebelumnya.

>>> m = re.search[r'[?

Bài mới nhất

Chủ Đề