ruby 如何使用正则表达式检查一个字符串是否有一个子字符串(最少3个字符)是回文,并得到该子字符串?

vxqlmq5t  于 2022-11-22  发布在  Ruby
关注(0)|答案(1)|浏览(150)

我有一个字符串,需要使用正则表达式提取所有回文子字符串(最小长度为3个字符)
这可能吗?
我想要一个类似下面的解决方案

str = "abcbd"
puts sub_str_palindrome(str)
# output 
["bcb"]

str = "abcde"
puts sub_str_palindrome(str)
# output 
[]
6vl6ewon

6vl6ewon1#

以下是正则表达式匹配3-4个字符回文的一些线索:

(.)(.)\2?\1

5-6字符(在\2?之后添加(?:(.)\3?\2|)

(.)(.)(?:(.)\3?\2|\2?)\1

7-8字符(在\3?之后添加(?:(.)\4?\3|)):

(.)(.)(?:(.)(?:(.)\4?\3|\3?)\2|\2?)\1

等等。
我希望这个算法能帮助你实现这个方法

相关问题