C++:如何用拆分查找单词?正则表达式

C++: How to find word with split? Regex

我需要找到一个由 "~" 个字符分隔的序列号,其中可能包含 10 到 30 个字母。

目前我正在使用这个正则表达式模式:"~[A-Z]~[A-Z]~[A-Z]~[A-Z]~[A-Z]~[A-Z]~[A-Z]~[A-Z]~[A-Z]~[A-Z]"

我需要更改它,这样它不仅可以搜索 10 个字母,还可以搜索最多 30 个字母。

(~[A-Z]){10,30}

这应该匹配从 10 到 30 的任意重复次数。
(默认是贪心的,所以会匹配最长的字符串。)