我有一个字符串,需要使用正则表达式提取所有回文子字符串(最小长度为3个字符)这可能吗?我想要一个类似下面的解决方案
str = "abcbd" puts sub_str_palindrome(str) # output ["bcb"] str = "abcde" puts sub_str_palindrome(str) # output []
6vl6ewon1#
以下是正则表达式匹配3-4个字符回文的一些线索:
(.)(.)\2?\1
5-6字符(在\2?之后添加(?:(.)\3?\2|和):
\2?
(?:(.)\3?\2|
)
(.)(.)(?:(.)\3?\2|\2?)\1
7-8字符(在\3?之后添加(?:(.)\4?\3|和)):
\3?
(?:(.)\4?\3|
(.)(.)(?:(.)(?:(.)\4?\3|\3?)\2|\2?)\1
等等。我希望这个算法能帮助你实现这个方法
1条答案
按热度按时间6vl6ewon1#
以下是正则表达式匹配3-4个字符回文的一些线索:
5-6字符(在
\2?
之后添加(?:(.)\3?\2|
和)
:7-8字符(在
\3?
之后添加(?:(.)\4?\3|
和)
):等等。
我希望这个算法能帮助你实现这个方法