function check(node) {
			const isTemplateElement = node.type === "TemplateElement";

			if (
				isTemplateElement &&
				node.parent &&
				node.parent.parent &&
				node.parent.parent.type === "TaggedTemplateExpression" &&
				node.parent === node.parent.parent.quasi
			) {
				// Don't report tagged template literals, because the backslash character is accessible to the tag function.
				return;
			}

			if (typeof node.value === "string" || isTemplateElement) {
				/*
				 * JSXAttribute doesn't have any escape sequence: https://facebook.github.io/jsx/.
				 * In addition, backticks are not supported by JSX yet: https://github.com/facebook/jsx/issues/25.
				 */
				if (
					node.parent.type === "JSXAttribute" ||
					node.parent.type === "JSXElement" ||
					node.parent.type === "JSXFragment"
				) {
					return;
				}

				const value = isTemplateElement
					? sourceCode.getText(node)
					: node.raw;
				const pattern = /\\[^\d]/gu;
				let match;

				while ((match = pattern.exec(value))) {
					validateString(node, match);
				}
			} else if (node.regex) {
				validateRegExp(node);
			}
		}
Checks if a node has an escape.
@param {ASTNode} node node to check.
@returns {void}