使用正则表达式查找 Google 文档中是否有任何大写字母
Find if there are any capital letters in Google Docs with Regex
在处理文档之前,我需要确保文档中没有大写字母。我想使用 REGEX 来测试它,但它似乎失败了。
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 表格中工作,所以我不习惯 Docs GAS 功能。
[]
用来表示一组字符。这些括号之间的任何字符都将被捕获。例如,[A-Z\s]+
将匹配字符串中的任何大写字母和 space 字符。您的正则表达式 returns 小写,因为您的部分可能在单词之间有一个 space。
要修复它,只需删除正则表达式中的 \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]+"));
}
示例:
测试字符串 1:
输出:
测试字符串 2:
输出:
使用
function myFunction() {
const doc = DocumentApp.getActiveDocument();
let body = doc.getBody();
let text = body.editAsText();
Logger.log(text.findText("[A-Z]"));
}
仅 [A-Z]
就足以检测大写字母和 return 范围元素。
在处理文档之前,我需要确保文档中没有大写字母。我想使用 REGEX 来测试它,但它似乎失败了。
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 表格中工作,所以我不习惯 Docs GAS 功能。
[]
用来表示一组字符。这些括号之间的任何字符都将被捕获。例如,[A-Z\s]+
将匹配字符串中的任何大写字母和 space 字符。您的正则表达式 returns 小写,因为您的部分可能在单词之间有一个 space。
要修复它,只需删除正则表达式中的 \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]+"));
}
示例:
测试字符串 1:
输出:
测试字符串 2:
输出:
使用
function myFunction() {
const doc = DocumentApp.getActiveDocument();
let body = doc.getBody();
let text = body.editAsText();
Logger.log(text.findText("[A-Z]"));
}
仅 [A-Z]
就足以检测大写字母和 return 范围元素。