Saya telah mencari di Google untuk ini dan menemukan cara melakukannya dengan parser regex lainnya:
http://vim.wikia.com/wiki/Changing_case_with_regular_expressions
http://www.regular-expressions.info/replacecase.html
Saya sudah mencoba ini dan tidak ada yang berhasil. Sebagai contoh, saya ingin menggunakan regex untuk mengubah ini:
private String Name;
private Integer Bar = 2;
Untuk ini:
private String name;
private Integer bar = 2;
Saya mencoba sesuatu seperti ini:
replace: private (\S+) (\S+)
with: private $1 $L$2
with: private $1 \L$2
with: <etc.>
Tak satu pun dari mereka berhasil. Apakah mungkin melakukan ini di intellij, atau apakah ini fitur yang hilang? Ini hanya untuk tujuan pendidikan dan teladannya dibuat-buat. Saya hanya ingin tahu apakah ini mungkin dilakukan di intellij.
java
regex
intellij-idea
Daniel Kaplan
sumber
sumber
Jawaban:
Dalam IDEA 15 Anda dapat menggunakan sakelar di bawah ini untuk mengganti kasus ekspresi yang ditangkap. Ini sekarang secara resmi didokumentasikan sejak versi ini dirilis.
\l
: menurunkan kasus dari satu karakter berikutnya\u
: up kasus satu karakter berikutnya\L
: kecilkan huruf besar-kecil dari karakter berikutnya hingga a\E
atau akhir string pengganti\U
: naikkan kasus karakter berikutnya hingga a\E
atau akhir string pengganti\E
: menandai akhir dari perubahan kasus yang dimulai oleh\U
atau\L
Berikut adalah contoh penggunaan (karena dokumentasinya tidak jelas):
Di atas akan dikonversi
FOO_BAR_BAZ
kefoo_bar_baz
dll. $ 1 mengacu pada grup penangkapan pertama yang ditemukan (dalam tanda kurung), $ 2 ke set kedua, dll.Demi anak cucu: ini awalnya dilaporkan oleh @gaoagong dan didokumentasikan di sana .
sumber
Mencari jawabannya dan kemudian menyadari bahwa @ ajp15243 sudah menjawab ini di atas. Saat ini Intellij tidak dapat menggunakan fitur pengganti regex untuk mengubah kapitalisasi huruf. Ada pembahasan singkat di URL berikut tentang fitur tersebut.
http://www.jetbrains.com/idea/webhelp/regular-expression-syntax-reference.html
Anda juga dapat memilih fitur dalam masalah Youtrack di sini:
http://youtrack.jetbrains.com/issue/IDEA-70451
Ada plugin regex Intellij, tapi sayangnya itu juga tidak mendukung casing bawah dan atas.
http://plugins.jetbrains.com/plugin/19?pr=idea
Anda mungkin hanya perlu menjalankan file melalui program perl untuk menggantinya dengan benar.
sumber
Saya mulai menggunakan plugin Idea Vim dan belajar melakukan hal-hal seperti ini di Vim. Dengan cara ini saya dapat menggunakan kembali keterampilan ini di luar Ide.
Berikut adalah perintah vim untuk melakukan apa yang Anda minta.
:%s/private\s\(\w*\)\s\(w*\)/private \1 \L\2/g
Regex sedang dimasukkan dalam IDE. Garis miring ekstra diperlukan untuk keluar dari pola regex ke Vim.
Temukan Plugin dari dalam IDE.
sumber