Estoy tratando de descubrir cómo escribir una expresión regular que proporcione la URL de una cadena como esta:
'<script type="text/javascript" src="http://chrismills.la/test.js"></script>';
Esto funciona, pero necesito encontrar una forma más limpia de hacerlo:
var url = '';
_content.replace(/src ?= ?"([^"]+)"/gi, function(res) {
url = res;
url = url.replace('src=','');
url = url.replace(/['"]+/g, '')
url = url.replace(/["']+/g, '')
});
script.src = url;
En acción: http://jsfiddle.net/zb3jh180/
SOLUCIÓN, basada en la respuesta a continuación:
var regex = /<script.*?src="(.*?)"/gmi;
var url = regex.exec(_content);
script.src = url[1];
1
user1572796
3 sep. 2014 a las 00:50
2 respuestas
La mejor respuesta
Puedes usar esta expresión regular:
<script.*?src="(.*?)"
O también algo como:
<script.*?"(http.*?)"
6
Federico Piazza
2 sep. 2014 a las 20:54
Se actualizó el violín, avíseme si esto es lo que está buscando. Básicamente solo creando un grupo de captura:
var srcRegEx = /src="(.*?)"/g;
var source = srcRegEx.exec(_content);
script.src = source[1];
http://jsfiddle.net/zb3jh180/1/
1
tcmurphy
2 sep. 2014 a las 22:03
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.