I use this regex which is functional but I would like to optimize it. I find it very "literal" and so I think it has an impact on the treatment using the tokens it should be faster, only it's not very obvious for a beginner ...
const pattern = /left\s:([-]{0,1}[0-9]{1,4})px;\stop:([0-9]{1,4})px;"\s\s\tonmouseover="updi\(event,'([0-9]{4}-[0-9]{2}-[0-9]{2})\s([0-9]{2}:[0-9]{2})\s([A-Z]{3,4})\s\((T[+]{1}\s[0-9]{1}:[0-9]{2}|T[+]{1}[0-9]{2,3}:[0-9]{2})\)<br>Distances: ([0-9]{1,4}\.[0-9]{1}nm)\/([0-9]{1,4}\.[0-9]{1}nm)<br><b>Wind:<\/b>\s([0-9]{1,3}°);\s([0-9]{1,2}\.[0-9]{1}\skt)\s\(<b>TWA\s([-]{0,1}[0-9]{1,3}°);<\/b>\)<br><b>Heading:<\/b>\s([0-9]{1,3}°);<b>Sail:<\/b>\s([a-zA-Z]{2,4})<br><b>Boat\sSpeed:<\/b>\s([0-9]{1,3}\.[0-9]{2}\skts)/
She extracts the values that I exploit later and works on this kind of code:
<img src="img/dot.png" alt="" class="abs" style="z-index: 1; left :-4904px; top:2437px;"
onmouseover="updi(event,'2019-10-15 02:00 CEST (T+ 1:50)<br>Distances: 1271.8nm/447.1nm<br><b>Wind:</b> 295° 5.8 kt (<b>TWA 65°</b>)<br><b>Heading:</b> 230°<b>Sail:</b> Jib<br><b>Boat Speed:</b> 3.23 kts','220px')" onmouseout="cleari()"
onmousedown="show_wind(366);">
<img src="img/dot.png" alt="" class="abs" style="z-index: 1; left :49px; top:243px;"
onmouseover="updi(event,'2019-10-15 02:00 CET (T+363:50)<br>Distances: 1271.8nm/447.1nm<br><b>Wind:</b> 295° 5.8 kt (<b>TWA 65°</b>)<br><b>Heading:</b> 230°<b>Sail:</b> Jib<br><b>Boat Speed:</b> 3.23 kts','220px')" onmouseout="cleari()"
onmousedown="show_wind(366);">