What is the difference between exact version matching and rough version matching in the script?

Exact version matching uses `stripped_strings` to find an exact build number (e.g., `15.2.986.26`) within a `<tr>`, returning only the corresponding row. Rough version matching uses `tag.text` to check if a partial version (e.g., `15.2.986`) appears anywhere in the row, returning multiple matching entries—useful for older Exchange versions that may not have unique full build numbers. Both methods are detailed in the article's test code.