проверка регулярных выражений, если в строке есть допустимые теги сценария - PullRequest
0 голосов
/ 30 января 2019

Я хочу сопоставить тег скрипта в строке HTML, где могут быть или не быть комментарии.

Некоторые примеры,

<!-- <script>...</script> --> <script src='test.js'></script>
<!-- <script>...</script> -->

Я хочу соответствовать только первому примеру.

Это то, что я придумал, но это не работает, любая помощь приветствуется.спасибо

/(<!--.*?-->)*.*<script[\s>\/]/gmi

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Попробуйте использовать это регулярное выражение:

<script src=['"]{1}.+['"]{1}>[.\s]*<\/script>
0 голосов
/ 30 января 2019

Разобрать вашу строку с помощью DOMParser, чтобы получить HTML-дерево, а затем использовать querySelectorAll для подсчета элементов.

См. Фрагмент ниже:

var str = "<!-- <script>...<\/script> --> <script src='test1.js'><\/script><!-- <script>...<\/script> --><script src='test2.js'><\/script>";

var parser = new DOMParser();

var doc = parser.parseFromString(str, 'text/html');

var howManyScripts = doc.querySelectorAll('script').length;

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