正则表达式:从模式字符串 1.string2'string3 中提取字符串,其中字符串 1 可以包含 '." 字符
Regex: extract strings from pattern string1.string2'string3 where string1 can contain a '.' character
>我需要一个正则表达式来从以下形式的字符串中提取字符串 1、字符串 2 和字符串 3: string1.string2'string3
.输入中可能不存在分隔符"."和"。
问题是 string1 也可能包含句点字符 '.,因此必须使用最右边的句点来提取字符串 1。
可能有帮助的是,可以对字符串2的长度施加一个条件:它必须由正好3个字母字符组成,它是一个国家代码,例如USA,JPN。
例:
input: Hello -> string1=Hello
input: Hello.b -> string1=Hello.b
input: Hello.USA -> string1=Hello, string2=USA
input: Hello.c.JPN -> string1=Hello.c, string2=JPN
input: Hello.d.r.USA'Today -> string1=Hello.d.r, string2=USA, string3=Today
input: Hello.d'Today -> string1=Hello.d, string3=Today
输入字符串可以是std::string
的,也可以是std::wstring
std::regex re("([^\.']+(\.(?![^']{3}('|$))[^\.']+)*)(\.([^']{3}))?('(.+))?");
演示
强制:
有些人在遇到问题时会想"我知道,我会使用正则表达式"。现在他们有两个问题。——杰米·扎温斯基
相关文章:
- 编译包含字符串的代码时遇到问题
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 一个函数,用于查找字符串1包含字符串2 c++的次数
- C++ 创建包含链表和字符串的对象的链接列表时出错
- C++-字符串是否包含一个带有简单循环的单词
- 编辑字符串以包含括号 c++ 之间的变量
- 使用提升元解析字符串解析包含的文件
- 当字符串包含 %2C 时,在 c++ 中不完整的 std::string
- C++ 检查 UTF8 字符串包含指定的字符
- 将文件作为字符串包含在内
- 为什么string.empty()在字符串包含一个值时评估为true
- boost::p rogram_option::store 在选项字符串包含混合语言字符时引发异常
- 在 c++ 中将字符串(包含字符和浮点数)转换为双精度
- 将字符串(包含数字)转换为整数并返回该整数
- 如果输入字符串包含"%",则vsntprintf_s崩溃
- 当一个字符串包含另一个字符串的一部分时比较字符串
- 如果字符串包含多个 ,如何在每25个换行符( )上分割字符串
- 输出字符串包含奇怪的字符
- 当字符串包含多个NUL字符时,如何获取c_str(用于发送)
- 乘法的字符串[包含整数],输出也存储在字符串中,如何