diff --git a/mcp-server/src/legal_mcp/services/references_extractor.py b/mcp-server/src/legal_mcp/services/references_extractor.py index 4f35f3f..f4b0bd2 100644 --- a/mcp-server/src/legal_mcp/services/references_extractor.py +++ b/mcp-server/src/legal_mcp/services/references_extractor.py @@ -23,12 +23,12 @@ logger = logging.getLogger(__name__) PLAN_PATTERNS = [ # תמ"א with number re.compile(r'תמ"א\s*[\-]?\s*(\d+)(?:\s*[\-/]\s*(\S+))?'), - # תכנית מתאר with identifiers + # תכנית מתאר with identifiers (must have a number) re.compile(r'תכנית\s+(?:מתאר\s+)?(?:ארצית|מחוזית|מקומית)?\s*(?:מס[\'"]?\s*)?(\d[\d/\-\.]+\S*)'), - # תב"ע with identifiers - re.compile(r'תב"ע\s*(?:מס[\'"]?\s*)?(\S+)'), - # Specific plan number patterns (e.g., 62/3, ירושלים 12345) - re.compile(r'תכנית\s+(\S+\s*\d[\d/\-\.]+\S*)'), + # תב"ע with plan number (must start with digit or contain hyphen+digits) + re.compile(r'תב"ע\s+(?:מס[\'"]?\s*)?(\d[\d/\-\.]+\S*)'), + # Plan number pattern (e.g., 102-1170893, 62/3) + re.compile(r'תכנית\s+(?:מס[\'"]?\s*)?(\d[\d/\-\.]+\S*)'), ] # Case law (פסיקה)