我知道Google Doc元素的findText函數不使用常規正則表達式(它改用RE2)。我遇到了一個正則表達式問題,一個經過驗證的,相對簡單且看似受支持的正則表達式塊在Apps腳本中反常地返回空結果。應用程序腳本文檔的findText
想知道是否有人可以發現/解釋原因。謝謝!
我申請下面的代碼與一些降價代碼塊蜱一個block of text(```)。當我使用類似的代碼塊將下面顯示的正則表達式粘貼到regexer.com時,RegEx返回正確的結果。但是,在我的文檔上運行下面的代碼會返回空結果。
我懷疑在我的代碼中有一些RE2不支持的正則表達式元素,但文檔沒有闡明這一點。有任何想法嗎?
var codeBlockRegEx = '`{3}((?:.*?\s?)*?)`{3}'; // RegEx to find (lazily) all text between triple tick marks (/`/`/`), inclusive of whitespace such as carriage returns, tabs, newlines, etc. var reWithCodeBlock = body.findText(codeBlockRegEx); // reWithCodeBlock evaluates to 'null'
該文檔未共享。請公開。 –
如果文本跨越段落,它並不那麼直截了當。嘗試'var codeBlockRegEx =/\'{3}([\ s \ S] *?)\'{3}/g;',但它可能不起作用。 –