Я пытаюсь написать регулярное выражение, которое удаляет пути к файлам из ссылок и изображений.Regex удалить все, кроме имени файла из ссылок
href="path/path/file" to href="file"
href="/file" to href="file"
src="/path/file" to src="file"
and so on...
Я думал, что у меня это работает, но это портит, если есть два пути в строке она работает на. Я думаю, что мое выражение слишком жадно. Он находит последний файл во всей строке.
Это мой код, который показывает выражение Мессинг на тестовом входе:
<script type="text/javascript" src="/javascripts/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var s = '<a href="one/keepthis"><img src="/one/two/keep.this"></a>';
var t = s.replace(/(src|href)=("|').*\/(.*)\2/gi,"$1=$2$3$2");
alert(t);
});
</script>
Это дает выход:
<a href="keep.this"></a>
Правильный вывод должен быть:
<a href="keepthis"><img src="keep.this"></a>
Спасибо за любые советы!
вы должны работать над строками или вы можете сделать это в DOM Do? – Gumbo
Если regexp действительно тяжело, я бы предпочел не работать в dom. Мне пришлось бы немного изменить структуру моей программы. Я думаю, единственная проблема в том, что мое регулярное выражение получает последнее/вместо самого последнего/перед другим ». – Moasely