Google 电子表格 API setDataValidation with Regex
Google Spreadsheet API setDataValidation with Regex
我正在尝试使用 Google 中的 Node.Js 包生成一个 Google 电子表格模板,并使用 API 进行一些验证。
这是我当前的请求:
{
"setDataValidation": {
"range": {
"sheetId": 1656514345,
"startRowIndex": 0,
"endRowIndex": 0,
"startColumnIndex": 1,
"endColumnIndex": 1000
},
"rule": {
"condition": {
"type": "CUSTOM_FORMULA",
"values": [
{
"userEnteredValue": "=REGEXMATCH(TO_TEXT(A2:A1000); '([1-9]){4}[-]([1-9]){2}[-]([1-9]){2}$')"
}
]
},
"inputMessage": "TEST VALIDATION",
"strict": true
}
}
}
我收到以下错误:
Error: Invalid requests[0].setDataValidation: Invalid ConditionValue.userEnteredValue: =REGEXMATCH(TO_TEXT(A2:A1000); '([1-9]){4}[-]([1-9]){2}[-]([1-9]){2}$')
在电子表格中简单地创建或附加数据就可以正常工作,但让正则表达式验证工作似乎是极限。在 Documentation 中似乎没有限制 RegEx,我的请求有什么问题?
提前致谢。
您的表达式需要转义。
"userEnteredValue": "=REGEXMATCH(TO_TEXT(A1), \"[0-9]{4}[-][0-9]{2}[-][0-9]{2}$\")"
请注意内部引号被转义(\"
而不是 "
)。
请注意,单引号也不起作用。
我正在尝试使用 Google 中的 Node.Js 包生成一个 Google 电子表格模板,并使用 API 进行一些验证。
这是我当前的请求:
{
"setDataValidation": {
"range": {
"sheetId": 1656514345,
"startRowIndex": 0,
"endRowIndex": 0,
"startColumnIndex": 1,
"endColumnIndex": 1000
},
"rule": {
"condition": {
"type": "CUSTOM_FORMULA",
"values": [
{
"userEnteredValue": "=REGEXMATCH(TO_TEXT(A2:A1000); '([1-9]){4}[-]([1-9]){2}[-]([1-9]){2}$')"
}
]
},
"inputMessage": "TEST VALIDATION",
"strict": true
}
}
}
我收到以下错误:
Error: Invalid requests[0].setDataValidation: Invalid ConditionValue.userEnteredValue: =REGEXMATCH(TO_TEXT(A2:A1000); '([1-9]){4}[-]([1-9]){2}[-]([1-9]){2}$')
在电子表格中简单地创建或附加数据就可以正常工作,但让正则表达式验证工作似乎是极限。在 Documentation 中似乎没有限制 RegEx,我的请求有什么问题?
提前致谢。
您的表达式需要转义。
"userEnteredValue": "=REGEXMATCH(TO_TEXT(A1), \"[0-9]{4}[-][0-9]{2}[-][0-9]{2}$\")"
请注意内部引号被转义(\"
而不是 "
)。
请注意,单引号也不起作用。