Rumah > Java > javaTutorial > Bagaimanakah Penambat Ungkapan Biasa '^' dan '$' Mengawal Padanan Corak?

Bagaimanakah Penambat Ungkapan Biasa '^' dan '$' Mengawal Padanan Corak?

Susan Sarandon
Lepaskan: 2024-12-29 20:32:10
asal
327 orang telah melayarinya

How Do Regular Expression Anchors '^' and '$' Control Pattern Matching?

Memahami Sauh Ungkapan Biasa: ^ dan $

Dalam bidang ungkapan biasa, '^' dan '$' menggunakan kuasa yang ketara. Ia berfungsi sebagai penanda sempadan, mengehadkan padanan corak pada kawasan tertentu rentetan.

'^' (Mula Sauh Rentetan)

Tabuh '^' sepadan dengan permulaan rentetan. Ia memastikan bahawa corak berada di barisan hadapan mana-mana perlawanan. Pertimbangkan contoh:

^\w+@\w+[.]\w+
Salin selepas log masuk

Corak ini sepadan dengan alamat e-mel seperti "john@example.com" tetapi bukan "john@example.com.office". Tanpa '^', regex boleh memadankan "ohn@example.com" dalam rentetan yang lebih panjang, yang mungkin tidak dimaksudkan.

'$' (Tamat Rentetan Sauh)

Sebaliknya, sauh '$' sepadan dengan hujung rentetan. Ia mengehadkan padanan corak hingga ke penghujungnya. Contohnya:

\w+@\w+[.]\w+$
Salin selepas log masuk

Corak ini memastikan bahawa alamat e-mel adalah padanan terpencil, bukan sekadar subrentetan dalam rentetan yang lebih besar.

Gabungan Anchor

Menggabungkan '^' dan '$' sauh menguatkuasakan padanan rentetan lengkap. Pertimbangkan contoh:

^\w+@\w+[.]\w+$
Salin selepas log masuk

Corak ini memastikan bahawa setiap aksara dalam rentetan input sepadan dengan aksara dalam corak. Jika mana-mana bahagian rentetan berada di luar corak, tiada padanan akan ditemui.

Pertimbangan Tambahan

  • Dalam sesetengah pelaksanaan, sauh hadir secara tersirat pada permulaan dan penghujung rentetan (cth., kaedah Java matches()).
  • Bendera (?m), atau Pemalar Corak.MULTILINE, membenarkan '^' dan '$' memadankan pemisah baris, membolehkan pemadanan fleksibel dalam rentetan berbilang baris.

Atas ialah kandungan terperinci Bagaimanakah Penambat Ungkapan Biasa '^' dan '$' Mengawal Padanan Corak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan