[object Object]

← back to Rentv 2026

fix(deals): word-boundary-anchor the bare 'at' address cue so it stops false-extracting addresses from format/that/flat

c9a19a7c7c62a28b5db80decd978d740be1828ef · 2026-08-06 05:27:11 -0700 · Steve

Files touched

Diff

commit c9a19a7c7c62a28b5db80decd978d740be1828ef
Author: Steve <steve@designerwallcoverings.com>
Date:   Thu Aug 6 05:27:11 2026 -0700

    fix(deals): word-boundary-anchor the bare 'at' address cue so it stops false-extracting addresses from format/that/flat
---
 scripts/pull-deals.mjs | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/pull-deals.mjs b/scripts/pull-deals.mjs
index 7fecf9a4..286cad8c 100644
--- a/scripts/pull-deals.mjs
+++ b/scripts/pull-deals.mjs
@@ -89,7 +89,10 @@ function parseSize(text) {
 }
 
 function parseAddress(body) {
-  const m = body.match(/(?:located at|situated at|address is|at)\s+(\d{2,6}\s[A-Z][A-Za-z0-9.\- ]+?(?:Rd|Road|St|Street|Ave|Avenue|Blvd|Boulevard|Dr|Drive|Way|Ln|Lane|Pl|Place|Ct|Court|Pkwy|Parkway|Hwy|Highway)\.?)/);
+  // NOTE: the bare "at" cue is word-boundary-anchored (\bat) so it only matches "at" as a
+  // standalone word — not the trailing "at" inside format/that/flat/combat, which previously
+  // false-extracted an address from ordinary prose (e.g. "the new format 1200 Broadway St layout").
+  const m = body.match(/(?:located at|situated at|address is|\bat)\s+(\d{2,6}\s[A-Z][A-Za-z0-9.\- ]+?(?:Rd|Road|St|Street|Ave|Avenue|Blvd|Boulevard|Dr|Drive|Way|Ln|Lane|Pl|Place|Ct|Court|Pkwy|Parkway|Hwy|Highway)\.?)/);
   return m ? m[1].trim() : null;
 }
 function parseOccupancy(body) { const m = body.match(/(\d{1,3})%\s?(?:leased|occup)/i); return m ? +m[1] : null; }

← 0a0f1273 auto-save: 2026-08-06T05:18:46 (7 files) — data/deals-regist  ·  back to Rentv 2026  ·  fix(deals): word-boundary-anchor street suffixes so 'St' sto 63833d1a →