Регулярное выражение для не мин файлов и не содержит слова - PullRequest
0 голосов
/ 22 июля 2010

Скажем, у вас есть следующее в файлах:

<script src="../../Public/Javascript/jquery-1.4.1.js" type="text/javascript"></script>
<script src="../../Public/Javascript/jquery.easing-sooper.js" type="text/javascript"></script>
<script src="../../Public/Javascript/jquery.easing.min.js" type="text/javascript"></script>

Я ищу регулярное выражение для поиска первой строки (не минимизировано и не содержит слова sooper). Я хотел бы использовать это в Visual Studio в качестве FYI.

Извините, мне нужно быть более конкретным. Я бы использовал это в Visual Studio find, как в control + shift + F, а затем щелкнул по использованию регулярных выражений для find, чтобы найти в проекте, где у меня есть ссылки на файлы javascript, которые не уменьшены. Мне нужно исключение b / c, некоторые в порядке, чтобы их не минимизировали.

Я ищу строки | совпадения, которые:
-js .js где-то в них
но не .min.js
-И не слово sooper

Еще раз спасибо!

Я был бы очень признателен!

Ответы [ 3 ]

1 голос
/ 23 июля 2010

Попробуйте:

\<script src="(~(<(min|sooper)>)[^"])+" type="text/javascript"\>\</script\>

Аромат VS regex имеет лишь мимолетное сходство с Perl-производными, к которым привыкли большинство из нас.Примечательно, что отрицательный прогноз - ~(...), а < и > - границы слов (начало и конец), и вы должны экранировать их, чтобы соответствовать буквенным угловым скобкам.

РЕДАКТИРОВАТЬ: Эта версия выглядит специальнодля имен файлов, заканчивающихся .js, но не содержащих min.js.

\<script src="(~(<(min\.js|sooper)>)[^"])+\.js" type="text/javascript"\>\</script\>
0 голосов
/ 22 июля 2010

Вы не указываете свой движок регулярных выражений.

По моему мнению, лучше всего было бы использовать группу захвата для части в имени файла, которая указывает версию jquery:

jquery([a-zA-Z0-9-.]+).js 

группа один в этом даст часть, которая вам нужнараспознавать.

Теперь все, что нужно сделать, это проверить эту строку на наличие подстрок min или sooper.

0 голосов
/ 22 июля 2010
<script src="(?:(?!\.min\.|\bsooper\b)[^"])+" type="text/javascript"></script>

будет соответствовать первой строке, но не двум другим.

Надеюсь, я правильно угадал, каковы ваши требования.Это регулярное выражение будет соответствовать тегу script с любым атрибутом src, если этот атрибут не содержит строку .min. или sooper.

. Имейте в виду, что использование регулярных выражений для соответствия HTML идругие нерегулярные языки в лучшем случае хрупкие, а в худшем - безумие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...