質問のタイトルにすべてを入れるのは難しいです。具体的なことは、人々が分割したい文字列に依存するためです。しかし、ここにあります:
複数のスクリプト タグが含まれる文字列があります。
<script type="text/javascript" src="/javascripts/something-1.js"></script>
<script type="text/javascript" src="/javascripts/something-2.js"/>
<script type="text/javascript" src="/javascripts/something-3.js"></script>
<link rel="stylesheet" type="text/css" href="/something-1.css">
この文字列を複数の文字列に分割したいのですが、それぞれにスクリプト タグが含まれています (リンク タグは無視します)。これが私がやった方法です:
var scripts = code.match(/<script.*src=.*(\/>|<\/script>)/g);
これは、スクリプト タグを終了タグまたは のいずれかと一致させるため/>
です</script>
。ただし、この現在の正規表現では、常に次のようになります。
<script type="text/javascript" src="/javascripts/something-1.js"></script>
<script type="text/javascript" src="/javascripts/something-2.js"/>
文字列として - 2 つではありません。
次のような正規表現を行うにはどうすればよいですか:
/<script.*src=( (not script not link) /> | (not link) <\/script> )/g