Google文档中有一行带有时间和日期戳。我已经使用正则表达式编写了以下代码,以当前时间/日期替换该行,但是我不确定为什么这行不通。
class MyGuard implements CanActivateChild {
canActivateChild(route, state): boolean | Observable<boolean> {
if (!route.data || route.data.active) {
// TODO: return your modal observable here and map it to boolean, e.g. via:
return modalService.alert('Data error').map(() => false);
}
return true;
}
}
如果我将document.replaceText行中的“ regExp”替换为例如“ 2019年1月22日下午3:43”,则代码会正确地将其替换为更新的日期/时间,但无法替换匹配的正则表达式。有任何想法吗?谢谢!
答案 0 :(得分:2)
您应该在字符串文字的帮助下传递正则表达式:
var regExp = "[0-9]{1,2}:[0-9]{2} [A-Z]{2} [A-Za-z]* [0-9]{1,2}, [0-9]{4}";
replaceText
文档对此进行了解释:
搜索模式以字符串而不是JavaScript正则表达式对象的形式传递。因此,您需要在模式中转义任何反斜杠。
此方法使用Google的RE2正则表达式库,该库限制了supported syntax。