^start of line
Non-Capturing Group(?:40[0-9][0-5]|[1-3][0-9]{3}|[0-9]{1,3}) 1st Alternative40[0-9][0-5] 0-9one character from 0 (4810) to 9 (5710)
0-5one character from 0 (4810) to 5 (5310)
2nd Alternative[1-3][0-9]{3} 1-3one character from 1 (4910) to 3 (5110)
{3}matches exactly 3 characters from the set below:
0-9one character from 0 (4810) to 9 (5710)
3rd Alternative[0-9]{1,3} Character Class[0-9]{1,3} {1,3}matches between 1 and 3 characters from the set below:
0-9one character from 0 (4810) to 9 (5710)
,the literal , (4410 / 548 / 2C16)
Non-Capturing Group(?:40[0-9][0-5]|[1-3][0-9]{3}|[0-9]{1,3}) 1st Alternative40[0-9][0-5] 0-9one character from 0 (4810) to 9 (5710)
0-5one character from 0 (4810) to 5 (5310)
2nd Alternative[1-3][0-9]{3} 1-3one character from 1 (4910) to 3 (5110)
{3}matches exactly 3 characters from the set below:
0-9one character from 0 (4810) to 9 (5710)
3rd Alternative[0-9]{1,3} Character Class[0-9]{1,3} {1,3}matches between 1 and 3 characters from the set below:
0-9one character from 0 (4810) to 9 (5710)
,the literal , (4410 / 548 / 2C16)
Non-Capturing Group(?:40[0-9][0-5]|[1-3][0-9]{3}|[0-9]{1,3}) 1st Alternative40[0-9][0-5] 0-9one character from 0 (4810) to 9 (5710)
0-5one character from 0 (4810) to 5 (5310)
2nd Alternative[1-3][0-9]{3} 1-3one character from 1 (4910) to 3 (5110)
{3}matches exactly 3 characters from the set below:
0-9one character from 0 (4810) to 9 (5710)
3rd Alternative[0-9]{1,3} ,the literal , (4410 / 548 / 2C16)
Non-Capturing Group(?:40[0-9][0-5]|[1-3][0-9]{3}|[0-9]{1,3}) $end of line
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string