Me gustaría usar una variable en RegExp en esta función.
checkSocial(platform, link) { let reg = new RegExp(/^(?:https?:\/\/)?(www\.facebook\.com\/)(?:\S+)/); return reg.test(link); }Haciendo esto:
let reg = new RegExp(`/^(?:https?:\/\/)?(www\.${platform}\.com\/)(?:\S+)/`);o esto:
let reg = new RegExp('^(?:https?:\/\/)?(www\.' + platform + '\.com\/)(?:\S+)');no funcionó ¿Cómo puedo agregar una variable?
No necesita las barras al crear RegExp de esta manera, las agregará automáticamente.
Además, tenga en cuenta que necesitaría un escape adicional: ¿creo que el último token \S no se escapó correctamente?
Este parece ser un patrón más válido:
let platform = 'facebook'; let reg1 = new RegExp(`^(?:https?:\/\/)?(www\.${platform}\.com\/)(?:\S+)`) let reg2 = new RegExp(`^(?:https?:\/\/)?(www\.${platform}\.com\/)(?:\\S+)`) console.log("1", reg1) // Outputs: /^(?:https?:\/\/)?(www.facebook.com\/)(?:S+)/ console.log("2", reg2) // Outputs: /^(?:https?:\/\/)?(www.facebook.com\/)(?:\S+)/