正则表达式 - 私有子标签 RFC5646

Regex - Private subtags RFC5646

有人可以帮我用正则表达式从 RFC5646 中提取子标签吗?

示例字符串

en-us-x-test-test1 = test,test1
en-gb-x-test-test2 = test,test2
fr-x-test-test3 = test,test3

我正在使用 QRegExp

感谢您的帮助

这里不需要正则表达式。按 - 拆分您的输入,然后取最后两个字符串并在两者之间添加一个逗号:

QString str = "en-us-x-test-test1";
QStringList list = str.split('-');
QString output = list.at(list.count()-2) + "," + list.at(list.count()-1);

当然,您必须检查 list 长度以避免索引错误。