Simbol untuk sejumlah karakter apa pun dalam ekspresi reguler?

149

Saya bertanya-tanya apakah ada simbol untuk angka apa pun (termasuk nol) dari karakter apa pun

Skizit
sumber

Jawaban:

36

Anda dapat menggunakan ekspresi reguler ini (spasi atau non-spasi apa pun) sebanyak mungkin hingga dan termasuk 0.

[\s\S]*

Ekspresi ini akan cocok sesedikit mungkin, tetapi sebanyak yang diperlukan untuk sisa ekspresi.

[\s\S]*?

Misalnya, di regex ini [\s\S]*?Bakan cocok aBdengan aBaaaaB. Namun dalam regex ini [\s\S]*Bakan cocok aBaaaaBdi aBaaaaB.

agen-j
sumber
apakah ada perbedaan antara [\ s \ S] dan.?
linqu
9
@linqu, .terkadang tidak cocok \n(baris baru), bergantung pada opsi multiline, tetapi [\s\S]akan cocok dengan karakter apa pun.
agent-j
19

Maksud kamu

.*

. karakter apapun, kecuali karakter baris baru, dengan mode dotall itu termasuk juga karakter baris baru

* berapa pun jumlah ekspresi sebelumnya, termasuk 0 kali

stema
sumber
4

Saya akan menggunakan .*. .cocok dengan karakter apapun, *menandakan 0 atau lebih kemunculan. Anda mungkin memerlukan tombol DOTALL ke regex untuk menangkap baris baru ..

Kesedihan
sumber
-8

Ya, ada satu, itu tanda bintang: *

a* // looks for 0 or more instances of "a"

Ini harus tercakup dalam tutorial atau dokumentasi Java regex yang Anda cari.

Loduwijk
sumber