查找带有Regex的Google文档中是否有大写字母
在处理文档之前,我需要确保文档中没有大写字母。我想用正则表达式来测试,但似乎失败了查找带有Regex的Google文档中是否有大写字母,regex,google-apps-script,google-docs,Regex,Google Apps Script,Google Docs,在处理文档之前,我需要确保文档中没有大写字母。我想用正则表达式来测试,但似乎失败了 function myFunction() { const doc = DocumentApp.getActiveDocument(); let body = doc.getBody(); let text = body.editAsText(); Logger.log(text.findText("[A-Z\s]+").getElement().asText().getTex
function myFunction() {
const doc = DocumentApp.getActiveDocument();
let body = doc.getBody();
let text = body.editAsText();
Logger.log(text.findText("[A-Z\s]+").getElement().asText().getText());
}
这里的日志返回文本,即使整个部分是小写的。我不知道我的正则表达式是错的,我的函数是错的,还是什么。我通常在Google Sheets中工作,因此我不习惯Docs GAS函数。
[]
用于指示一组字符。这些括号之间的任何字符都将被捕获。例如,[A-Z\s]+
将匹配字符串中的任何大写字母和空格字符。您的正则表达式返回小写,因为您的节可能在单词之间有空格
要修复它,只需删除正则表达式中的\s
发件人:[A-Z\s]+
收件人:[A-Z]+
代码:
function myFunction() {
const doc = DocumentApp.getActiveDocument();
let body = doc.getBody();
let text = body.editAsText();
Logger.log(text.findText("[A-Z]+"));
}
示例:
function myFunction() {
const doc = DocumentApp.getActiveDocument();
let body = doc.getBody();
let text = body.editAsText();
Logger.log(text.findText("[A-Z]+"));
}
测试字符串1:
输出:
测试字符串2:
输出:
使用
function myFunction() {
const doc = DocumentApp.getActiveDocument();
let body = doc.getBody();
let text = body.editAsText();
Logger.log(text.findText("[A-Z]"));
}
[A-Z]
单独检测一个大写字母并返回range元素就足够了。谢谢!由于文本中有空格,我想我需要\s。总有一天我会明白正则表达式。。。