HTMLを取得してJavascript Stringオブジェクトに処理したい場合は、RegExを使用して、後にある特定の文字列を識別できます。例えば
、あなたのテストテキスト与えられた:
<TABLE class="d97m2" cellSpacing=0 cellPadding=0 sizset="false" sizcache06358115873960983="276 82 150">
<!-- A bunch of other rows -->
<TR>
<TD class="d97m40"><span class="label">Prop Taxes:</SPAN></TD>
<TD class="d97m50" colSpan=2><SPAN class="wrapped-field">$4,586</span></TD>
<TD class="d97m43"><span class="label d97m29">Garbage:</SPAN></TD>
<TD class="d97m26"><SPAN class="wrapped-field">$0</span></TD>
<TD class="d97m44"><span class="label">Parking Inc:</SPAN></TD>
<TD class="d97m45"><SPAN class="wrapped-field">$0</span></TD>
<TD class="d97m46"><span class="label">TOE:</SPAN></TD>
<TD class="d97m47"><SPAN class="wrapped-field">$10,248</span></TD></TR>
<TR>
<!-- a bunch more rows -->
</TABLE>
次の正規表現:
/.*?Prop\sTaxes(.|\s)*?d97m50.*?\$(.*?)<\/span/mg
は、あなたが、あなたのように処理することができ、その第二試合で「4586」の値を生成しますが願い。
複数の一致を取得して処理する方法の例を以下に示します。
Javascript Regular Expression multiple match
このコードは、私の作品:
function regExTest() {
var s = '<TABLE class="d97m2" cellSpacing=0 cellPadding=0 sizset="false" sizcache06358115873960983="276 82 150">' +
'<!-- A bunch of other rows -->' +
'<TR>' +
'<TD class="d97m40"><span class="label">Prop Taxes:</SPAN></TD>' +
'<TD class="d97m50" colSpan=2><SPAN class="wrapped-field">$1,986</span></TD>' +
'<TD class="d97m43"><span class="label d97m29">Garbage:</SPAN></TD>' +
'<TD class="d97m26"><SPAN class="wrapped-field">$0</span></TD>' +
'<TD class="d97m44"><span class="label">Parking Inc:</SPAN></TD>' +
'<TD class="d97m45"><SPAN class="wrapped-field">$0</span></TD>' +
'<TD class="d97m46"><span class="label">TOE:</SPAN></TD>' +
'<TD class="d97m47"><SPAN class="wrapped-field">$10,248</span></TD></TR>' +
'<TR>' +
'<TR>' +
'<TD class="d97m40"><span class="label">Prop Taxes:</SPAN></TD>' +
'<TD class="d97m50" colSpan=2><SPAN class="wrapped-field">$4,586</span></TD>' +
'<TD class="d97m43"><span class="label d97m29">Garbage:</SPAN></TD>' +
'<TD class="d97m26"><SPAN class="wrapped-field">$0</span></TD>' +
'<TD class="d97m44"><span class="label">Parking Inc:</SPAN></TD>' +
'<TD class="d97m45"><SPAN class="wrapped-field">$0</span></TD>' +
'<TD class="d97m46"><span class="label">TOE:</SPAN></TD>' +
'<TD class="d97m47"><SPAN class="wrapped-field">$10,248</span></TD></TR>' +
'<TR>' +
'<TR>' +
'<TD class="d97m40"><span class="label">Prop Taxes:</SPAN></TD>' +
'<TD class="d97m50" colSpan=2><SPAN class="wrapped-field">$2,514</span></TD>' +
'<TD class="d97m43"><span class="label d97m29">Garbage:</SPAN></TD>' +
'<TD class="d97m26"><SPAN class="wrapped-field">$0</span></TD>' +
'<TD class="d97m44"><span class="label">Parking Inc:</SPAN></TD>' +
'<TD class="d97m45"><SPAN class="wrapped-field">$0</span></TD>' +
'<TD class="d97m46"><span class="label">TOE:</SPAN></TD>' +
'<TD class="d97m47"><SPAN class="wrapped-field">$10,248</span></TD></TR>' +
'<TR>' +
'<TR>' +
'<TD class="d97m40"><span class="label">Prop Taxes:</SPAN></TD>' +
'<TD class="d97m50" colSpan=2><SPAN class="wrapped-field">$3,312</span></TD>' +
'<TD class="d97m43"><span class="label d97m29">Garbage:</SPAN></TD>' +
'<TD class="d97m26"><SPAN class="wrapped-field">$0</span></TD>' +
'<TD class="d97m44"><span class="label">Parking Inc:</SPAN></TD>' +
'<TD class="d97m45"><SPAN class="wrapped-field">$0</span></TD>' +
'<TD class="d97m46"><span class="label">TOE:</SPAN></TD>' +
'<TD class="d97m47"><SPAN class="wrapped-field">$10,248</span></TD></TR>' +
'<TR>' +
'<!-- a bunch more rows -->' +
'</TABLE>';
var qualityRegex = /.*?Prop\sTaxes(.|\s)*?d97m50.*?\$(.*?)<\/span/mg,
matches = [];
var match = qualityRegex.exec(s);
while (match != null) {
matches.push(match[2]);
match = qualityRegex.exec(s);
}
/* Matches now contains the numbers you require */
}
正規表現を試しましたが、タイムアウトしました。 Apps Script関数と[RegExr](http://regexr.com/)の両方を使って試してみました。どちらも同じ結果でした。 – Kris
私が試したコードは次のとおりです: 'var page = UrlFetchApp.fetch(url).getContentText(); (2); – Kris
どのくらい奇妙ですか?var propTax = page.match(/.* Prop \ sTaxes(。| \ s)* d97m50。* \ $(。*)<\/span/mg)それは実際には機能しませんでした。私の変更されたコードでは、それらの後ろに疑問符を付け加えて*括弧をつけないでください。関数を試して、それがあなたのために働くかどうかを見てください。 – alfiethecoder