2

Nodejsに文字列としてロードされた短いhtmlファイルがあります。

<html>
<head>
    <title>NodeJS</title>
    <link href="/style/application.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="/scripts/script.js"></script>
    <link rel="shortcut icon" href="/favicon.ico">
  </head>
<body>
<center>
<h1><a href="#"><% title %></a></h1><br>
</center>
</body>
</html>

との間のすべての文字列の配列を取得する必要が<%あり%>ます。この場合はタイトルのみです。

いくつかのJavaScript文字列関数と正規表現を試しましたが、何も見つかりません...

たぶん、文字列のすべての位置を見つけて<% %>、プログラムで文字列をスライスしますか?

4

2 に答える 2

2

本当に正規表現はあなたのためにトリックを行うことができます:

var str = document.getElementById('template').innerHTML,
    re = /<%\s*(.*?)\s*%>/g,
    matches,
    results = [];

while((matches = re.exec(str)) !== null) {
    results.push(matches[1]);
}

console.log(results);

</p>

デモ

于 2012-09-22T22:54:59.090 に答える
1

問題の文字列を呼び出すと、ページに の.split("%")インスタンスがない限り、返される配列内のすべての奇数インデックスに目的の文字列が含まれている必要が%あります。

物事を行う別の方法は、最初に を呼び出しstring.split("<%")、次に がページ内で別の方法で使用される文字であるstring.split("%>")インスタンスが発生した場合に、奇数インデックスを呼び出すことです。%

于 2012-09-22T22:42:01.707 に答える