0

文字列の { * } のようなすべてのエントリを一致させる必要があります (Javascript を使用)。どうすればいいですか?

入力は次のとおりです。"#SD#{date};{time};{lat1};{lat2};{lon1};{lon2};{speed};{course};{height};{sats}\r\n";

前もって感謝します

4

3 に答える 3

3

おそらく正規表現を使用すると:

var r = /{.*?}/g;
var s = "#SD#{date};{time};{lat1};{lat2};{lon1};{lon2};{speed};{course};{height};{sats}\r\n";
var matches = s.match(r);

または、これらの {} を結果から取り除きたい場合は、.exec() ループを実行して、キャプチャされたデータのみを取得できます。

var r = /{(.*?)}/g;
var s = "#SD#{date};{time};{lat1};{lat2};{lon1};{lon2};{speed};{course};{height};{sats}\r\n";
var matches = [];
var match = null;

while(match = r.exec(s)) {
    matches.push(match[1]);
}
于 2013-07-08T20:39:43.287 に答える
2

次の正規表現を試すことができます。

var str = "#SD#{date};{time};{lat1};{lat2};{lon1};{lon2};{speed};{course};{height};{sats}\r\n".
var m = str.match(/{.*?}/g);

内にすべての一致が見つかりますm

その他の参考文献: http://www.w3schools.com/jsref/jsref_match.asp

于 2013-07-08T20:39:51.380 に答える