Rumah > Java > Cari teks yang serupa menggunakan ungkapan biasa

Cari teks yang serupa menggunakan ungkapan biasa

王林
Lepaskan: 2024-02-14 19:03:08
ke hadapan
821 orang telah melayarinya

Editor PHP Yuzi regular expression ialah alat pemadanan teks yang berkuasa yang boleh membantu kami mencari teks yang serupa dengan cepat. Sama ada dalam pemprosesan rentetan, pengekstrakan data atau input yang mengesahkan, ungkapan biasa memainkan peranan penting. Fleksibiliti dan kecekapannya membolehkan kami mengendalikan operasi teks yang kompleks dengan lebih mudah, meningkatkan kecekapan pembangunan. Sama ada anda seorang pemula atau pembangun yang berpengalaman, menguasai ekspresi biasa adalah kemahiran penting Mari kita terokai daya tarikannya bersama-sama!

Kandungan soalan

Saya mengenal pasti senarai teks dalam dokumen pdf yang berbeza. Sekarang saya perlu mengekstrak beberapa nilai daripada setiap teks menggunakan ungkapan biasa. Beberapa corak saya kelihatan seperti ini:

some text[ -]?(.+)[ ,-]+some other text
Salin selepas log masuk

Tetapi masalahnya ialah beberapa huruf mungkin salah selepas pengecaman ("0" 代替 "o""i" 代替 "l" dll.). Itulah sebabnya corak saya tidak sepadan dengannya.

Saya ingin menggunakan regex seperti jaro-winkler atau persamaan levenshtein supaya saya boleh bermula dari s0me 文本 my_value、一些其他文本 等文本中提取 my_value.

Saya tahu ini kelihatan hebat. Tetapi mungkin ada penyelesaian untuk masalah ini.

BTW Saya menggunakan java tetapi penyelesaian dalam bahasa lain boleh diterima

Penyelesaian

Anda boleh menggunakan padanan fuzzy jika anda menggunakan modul regex dalam python. Ungkapan biasa berikut membenarkan sehingga 2 ralat setiap frasa. Anda boleh menggunakan ujian ralat yang lebih kompleks (untuk sisipan, penggantian dan pemadaman), lihat dokumentasi yang dipautkan untuk butiran.

import regex

txt = 's0me text my_value, some otner text'
pattern = regex.compile(r'(?:some text){e<=2}[ -]?(.+?)[ ,-]+(?:some other text){e<=2}')

m = pattern.search(txt)
if m is not none:
    print(m.group(1))
Salin selepas log masuk

Keluaran:

my_value
Salin selepas log masuk
rrree

Corak ungkapan biasa (?i)(somes*w*s*texts*)([^,]+) digunakan untuk menangkap frasa yang serupa dengan "sesetengah teks" diikuti oleh mana-mana aksara sebelum koma

Atas ialah kandungan terperinci Cari teks yang serupa menggunakan ungkapan biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan