Masalah:
Memadankan keseluruhan perkataan dalam rentetan menggunakan ungkapan biasa boleh menjadi rumit apabila perkataan dipisahkan oleh ruang dan mempunyai tanda baca. Soalan ini meneroka cara untuk memudahkan proses memadankan keseluruhan perkataan tanpa memerlukan berbilang corak padanan.
Memahami Sempadan Perkataan:
Kunci untuk memadankan keseluruhan perkataan terletak pada penggunaan "sempadan perkataan" (b). Watak istimewa ini memberitahu enjin regex untuk mencari perkataan di mana watak sekeliling adalah aksara bukan perkataan. Oleh itu, b...|b akan memadankan mana-mana perkataan yang dibatasi oleh aksara bukan perkataan.
Pelaksanaan dengan Ungkapan Tunggal:
<br>match_string = r'b' perkataan r'b'<br>
Dengan menggunakan corak ini dan melepaskan aksara khas, anda boleh memadankan keseluruhan perkataan dengan mudah, walaupun dengan tanda baca di sekelilingnya.
Memadankan Berbilang Perkataan Keseluruhan:
Jika berbilang perkataan perlu dipadankan sebagai perkataan keseluruhan, anda boleh membina corak regex menggunakan operator sempadan dan paip (|):
<br>match_string = r'b(?:{word1})|b(?:{word2})|b(?:{word3})b' # Contoh corak untuk memadankan "word1" , "word2" dan "word3"<br>
Corak ini memastikan bahawa hanya perkataan yang ditentukan dipadankan sebagai keseluruhan perkataan, walaupun dalam rentetan.
Kekaburan Perkataan dan Sempadan Perkataan Tidak Kabur:
Dalam kes di mana perkataan yang akan dipadankan mungkin mengandungi aksara khas atau permulaan/akhir dengan aksara bukan perkataan, anda boleh menggunakan sempadan perkataan yang tidak jelas atau sempadan ruang kosong.
Kelebihan Menggunakan Sempadan Perkataan:
Kod Contoh:
import semula
rentetan = "perkataan perkataan ini, there word"
words = ["word", "hereword", "there"]
match_pattern = r'b(?:{})b'.format('|'.join(words))
padan = re.findall(corak_padan, rentetan)
cetak(padan) # Output: ['word', 'hereword', 'word']
Dengan memasukkan sempadan perkataan ke dalam corak regex anda, anda boleh memadankan keseluruhan perkataan dalam rentetan dengan cekap dan tepat, walaupun apabila ia mempunyai tanda baca atau aksara khas di sekelilingnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadankan Keseluruhan Perkataan dalam Rentetan Dengan Cekap Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!