字符串、正则表达式与流操作的实用技巧
1. 字符串与正则表达式
在处理字符串时,正则表达式是非常强大的工具。下面介绍几个常见的字符串处理场景及对应的正则表达式应用。
1.1 最长回文子串
回文串是指正读和反读都相同的字符串。可以通过动态规划的方法来找出字符串中的最长回文子串。以下是实现代码:
// 此处代码缺失部分上下文,推测是动态规划表部分代码 { table[i*len +j] = true; if (maxLen < k) { longestBegin = i; maxLen = k; } } return std::string(str.substr(longestBegin, maxLen));测试代码如下:
int main() { using namespace std::string_literals; assert(longest_palindrome("sahararahnide") == "hararah"); assert(longest_palindrome("level") == "level"); assert(longest_palindrome("s") == "s"); }1.2 车牌验证
车牌格式通常有一定的规范,可以使用正则表达式来验证车牌格式是否正确。例如,车牌格式为