2013-12-25 4 views
-3

Есть ли какой-то шаблон RegEx, который я могу использовать, чтобы вытащить все из двух тегов скрипта (включая сами теги скрипта) в файл HTML? Например:RegEx, чтобы вытащить все между тегами скриптов

<html> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <!-- A bunch of HTML here --> 
     <script> 
      // A bunch of javascript here 
     </script> 
     <script type="type/javascript"> 
      // Another block of javascript here 
     </script> 
    </body> 
</html> 

То, что я хотел бы быть в состоянии сделать это захватить все между <script> тегами. Я бы хотел, чтобы каждый блок javascript был новым совпадением. Возможно ли это с RegEx? Я использую C# в качестве своего языка. Если RegEx не может этого сделать, я бы хотел идеи для какой-то библиотеки парсеров, которые могли бы это сделать.

+4

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags –

+2

@ L.B - Этот вопрос не имеет ничего общего с моим. Он пытается разобрать HTML/XHTML. Я ничего не пытаюсь разобрать. Я просто хочу извлечь javascript из файла. – Icemanind

+1

Какой из них правильный? а) вы не понимаете, что вы читаете. b) Вы не знаете, что делаете. –

ответ

1

Я могу все, но гарантии, что я не буду иметь яваскрипта строковый литерал, который содержит заключительный тег сценария

Если это так ... вы можете попробовать следующее регулярное выражение:

<script[^>]*>(.*?)</script> 

Группа в тегах: not greedy, поэтому регулярное выражение будет соответствовать первому найденному.

Но я настоятельно рекомендую использовать парсер HTML.

Смежные вопросы