Hi, I've noticed that the musl regex implementation behaves slightly differently than the glibc implementation. I'm attaching a short program showing the behaviour. The difference makes yate (http://yate.null.ro) misbehave when running with musl (reported here: https://github.com/openwrt/telephony/issues/378). Yate uses a regexp like this: "^\\([[:alpha:]][[:alnum:]]\\+:\\)\\?/\\?/\\?\\([^[:space:][:cntrl:]@]\\+@\\)\\?\\([[:alnum:]._+-]\\+\\|[[][[:xdigit:].:]\\+[]]\\)\\(:[0-9]\\+\\)\\?" .. to parse strings like: "sip:012345678@11.111.11.111:5060;user=phone" .. and the matches produced by musl are: Match 0: 0 - 32 sip:012345678@11.111.11.111:5060 Match 1: -1 - -1 Match 2: 0 - 14 sip:012345678@ Match 3: 14 - 27 11.111.11.111 Match 4: 27 - 32 :5060 .. while glibc produces: Match 0: 0 - 32 sip:012345678@11.111.11.111:5060 Match 1: 0 - 4 sip: Match 2: 4 - 14 012345678@ Match 3: 14 - 27 11.111.11.111 Match 4: 27 - 32 :5060 What do you think? I've only tested musl 1.1.19. Sorry if this is not valid for later releases. I skimmed the 1.1.20 release notes and didn't find anything regex related. Regards Robert