Apa ekspresi reguler yang cocok dengan tanda kurung siku?

95

Saya ingin ekspresi reguler yang cocok dengan braket persegi [. Saya belum menemukan satu pun. Saya pikir saya mencoba semua kemungkinan, tetapi belum menemukan yang tepat. Apa regex yang valid untuk ini?

Alfre2
sumber

Jawaban:

111

Bagaimana kalau menggunakan garis miring terbalik \di depan braket persegi. Biasanya tanda kurung siku cocok dengan kelas karakter.

Peter Stuifzand
sumber
20
Jika Anda mencoba menulis regex ini di C # Anda harus menggunakan \\ di depan braket persegi.
Shrewdroid
4
Sebenarnya saya tidak tahu di mana itu bekerja dan mengapa jawabannya mendapat peringkat tinggi.
Vitali Pom
45

Coba gunakan \\[, atau sederhananya \[.

dfa
sumber
15

Jika Anda ingin mencocokkan ekspresi yang dimulai dengan [dan diakhiri dengan ], gunakan \[[^\]]*\].

Matt Roy
sumber
11

Apakah Anda melarikan diri dengan \?

/\[/

Berikut adalah sumber daya yang berguna untuk memulai Regular Expressions:

Regular-Expressions.info

matpie
sumber
6

Secara umum, saat Anda membutuhkan karakter yang "khusus" di regex, cukup awali dengan a \. Jadi literal [akan menjadi \[.

Zifre
sumber
5

Jika Anda mencari untuk menemukan kedua variasi tanda kurung siku pada saat yang sama, Anda dapat menggunakan pola berikut yang mendefinisikan berbagai baik yang [tanda atau yang ]tanda:/[\[\]]/

Jaytop
sumber
Anda dapat menghilangkan garis miring terbalik pertama. [[\]]akan cocok dengan salah satu braket. Dalam beberapa dialek regex (misalnya grep) Anda dapat menghilangkan garis miring terbalik sebelum ]jika Anda menempatkannya segera setelah [(karena kelas karakter kosong tidak akan berguna): [][]. Tapi itu tidak berfungsi di Java atau JavaScript.
cayhorstmann
3

apakah itu bekerja dengan antislash sebelum [?

\[atau \\[?

Pierre
sumber
1

Jika Anda ingin menghapus [atau ], menggunakan ekspresi: "\\[|\\]".

Kedua garis miring terbalik keluar dari braket persegi dan pipa adalah "atau".

Manish Kumar
sumber