What does the regular expression ['(^[^~]+~).*'] mean?

What does the regular expression ['(^[^~]+~).'] mean while using it with regexec.When the string "RCHNUSNT35C~rs07/ASM-RS07" is used with the regular expression ['(^[^~]+~).'] regexec gives an error. I know what regexec does,but i do not understand what this expression means wrt to this string...
any help would be appreciated

A sequence of characters that do not consist of tilde (~), followed by a tilde. The parentheses causes this part to be captured.

so the string "RCHNUSNT35C~rs07/ASM-RS07" should match with the regular expression and return 0. But the return value is 1. Any pointers on how that is possible.