Saya mencoba mencocokkan teks tertentu dan kemudian mengganti dengan teks ditambah beberapa karakter tambahan. Contoh teks minimal:
#10 Oranges. These are citrus fruits
Output yang diinginkan:
#10 Oranges.
These are citrus fruits
Regex: (#\d{1,2}[^.]*\.)\s*
Ubah dengan: $1\n
(Saya sudah Match using regular expressions
memeriksa)
Regex berhasil dicocokkan #10 Oranges.
. Namun backreference bernomor tidak menggantikan teks dengan grup tangkap tetapi hanya berjalan secara harfiah (output literal $1\n
). Saya juga telah mencoba menggunakan backslash untuk backreference bernomor \1
dan hasilnya sama.
Apakah ada sesuatu yang saya lewatkan? Bagaimana cara memasukkan kembali teks yang cocok di google docs menggunakan ekspresi reguler?
google-docs
regex
Pengguna
sumber
sumber
Note: Capture groups only work with Google Sheets.
Lihat support.google.com/docs/answer/62754#regular_expressionsJawaban:
Jawaban singkat
Alih-alih menggunakan fungsi temukan dan ganti bawaan, gunakan Google Apps Script atau add-on.
Penjelasan
Pada fitur Temukan dan Ganti Google Documents, bagian Ganti tidak bekerja dengan ekspresi reguler dan tidak berfungsi dengan
replaceText()
metode dari Layanan Dokumen di Google Apps Script untungnya JavaScript menggantikan metode berfungsi.Untuk mempelajari dasar-dasar pembuatan skrip sederhana, lihat https://developers.google.com/apps-script/overview
Kode
Kode ini merupakan adaptasi dari yang termasuk dalam referensi
Referensi
sumber
Replace with regular expressions
)Sedikit hacky, tetapi tidak memerlukan tambahan skrip dan kemungkinan akan mencakup 99% dari kasus penggunaan Anda. Anda masih dapat menggunakan grup tangkap dengan
RegexReplace
dan referensi dalam teks ganti dengan$1
atau$2
. Cukup bagi regex Anda menjadi dua kelompok tangkap dan gabungkan dengan karakter acak (jarang digunakan) seperti~
. Kemudian Anda dapat mengambil seluruh nilai yang dikembalikan dari itu dan menggantinya~
dengan baris baru:Untuk info lebih lanjut tentang sintaks regex yang digunakan di google sheets, lihat spesifikasi re2
sumber
Seperti yang dinyatakan oleh pengguna dalam komentar
Catatan: Grup Tangkap hanya berfungsi dengan Google Sheets.
sumber