首页 > 解决方案 > C ++:如何使用拆分查找单词?正则表达式

问题描述

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

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

我需要更改它,以便它不仅可以搜索 10 个字母,而且可以搜索最多 30 个字母。

标签: c++regexsplitstdword

解决方案


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

这应该匹配从 10 到 30 的任意数量的重复。
(默认情况下它是贪婪的,因此它将匹配可能的最长字符串。)


推荐阅读