Spaces:
Sleeping
Sleeping
File size: 1,581 Bytes
504f37b 38fd181 504f37b 38fd181 504f37b 38fd181 504f37b 38fd181 504f37b 38fd181 504f37b 38fd181 504f37b 38fd181 504f37b 38fd181 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import re
def find_entity_spans(entity, text):
"""
Finds the start and end indices of whole word entities in text.
Args:
entity: The entity string to search for.
text: The text to search within.
Returns:
A list of tuples, where each tuple contains the start and end indices
of a found entity. Returns an empty list if no entities are found.
"""
spans = []
for m in re.finditer(
r"\b" + re.escape(entity) + r"\b",
text,
): # The crucial change
spans.append((m.start(), m.end()))
return spans
# Example usage:
temp_text = "win winger winning"
entity = {"key": "win"} # Example dictionary (adjust as needed)
spans = find_entity_spans(entity["key"], temp_text)
print(spans) # Output: [(0, 3)] (Only "win" at the beginning)
temp_text = "The quick brown fox jumps over the lazy dog."
entity = {"key": "fox"}
spans = find_entity_spans(entity["key"], temp_text)
print(spans) # Output: [(16, 19)]
temp_text = "foxes fox foxing"
entity = {"key": "fox"}
spans = find_entity_spans(entity["key"], temp_text)
print(spans) # Output: [(0, 3), (6, 9)]
temp_text = "winger win winning"
entity = {"key": "win"}
spans = find_entity_spans(entity["key"], temp_text)
print(spans) # Output: [(8, 11)]
temp_text = "winger win winning"
entity = {"key": "winger"}
spans = find_entity_spans(entity["key"], temp_text)
print(spans) # Output: [(0, 6)]
temp_text = "winger win winning"
entity = {"key": "winning"}
spans = find_entity_spans(entity["key"], temp_text)
print(spans) # Output: [(12, 19)]
|