Karena saya tidak dapat menggunakan pandangan ke depan yang positif dalam Skrip Google Apps, saya perlu mencari cara lain untuk menulis Ekspresi Reguler. Regex dengan lookahead positif terlihat seperti ini:

.+?(?=\nConstant Phrase)

Saya ingin menangkap semua teks sebelum "Frase Konstan" (tidak termasuk "Frase Konstan"), pada baris mana pun ke awal dokumen google. Saya ingin seluruh kecocokan regex menjadi teks sebelum Frasa Konstan karena saya tidak yakin bagaimana saya akan mereferensikan grup yang cocok di Google Apps Script untuk Google Documents. Adakah ide tentang bagaimana saya dapat mencapai ini dengan metode yang akan berfungsi di Google Documents? Terima kasih!

Teks di Google Dokumen adalah:

Title of the Page Goes Here
National Recommendation
....rest of document

Saya ingin mencocokkan (dalam hal ini) "Title of the Page Goes Here".

Contoh lain seperti yang terlihat pada Regex Tester untuk Golang. Saya ingin kecocokan seluruh menjadi <headline> atau teks apa pun yang mungkin ada di tempatnya.

enter image description here

-3
hunter21188 7 Agustus 2019, 21:35

1 menjawab

Jawaban Terbaik

ingin seluruh kecocokan regex menjadi teks sebelum Frasa Konstan karena saya tidak yakin bagaimana saya akan mereferensikan grup yang cocok di Google Apps Script untuk Google Documents.

RegExp.prototype.exec kembali serangkaian kelompok penangkapan. Dengan menempatkan tanda kurung di sekitar bagian yang ingin Anda cocokkan sebelum frasa konstan, Anda dapat mencabutnya dari larik yang dikembalikan dan mengabaikan sisanya. Gunakan \s untuk mencocokkan semua spasi, termasuk baris baru.

function myFunction() {
  var text = DocumentApp.getActiveDocument().getBody().getText();
  var match = /(.*)\s+National Recommendation/.exec(text)[1];
  Logger.log(match); // => "Title will go here...could be anything"
}
2
dwmorrin 8 Agustus 2019, 03:32