in presidio-analyzer/presidio_analyzer/recognizer_result.py [0:0]
def intersects(self, other: "RecognizerResult") -> int:
"""
Check if self intersects with a different RecognizerResult.
:return: If intersecting, returns the number of
intersecting characters.
If not, returns 0
"""
# if they do not overlap the intersection is 0
if self.end < other.start or other.end < self.start:
return 0
# otherwise the intersection is min(end) - max(start)
return min(self.end, other.end) - max(self.start, other.start)