全部回文字的结构特征例如以下:

假设字符数是偶数,那么它在结构上表现为:一个字符序列连着还有一个字符同样但次序恰好相反的字符序列。

假设字符数为奇数,那么它在结构上表现为:一个字符序列连着还有一个字符同样但次序恰好相反的字符序列,可是这两个序列中间共享一个同样的字符。

sed命令可以记住之前匹配的子样式。

可以用正則表達式:'\(.\)'。匹配随意一个字符。\1表示其反向引用。如匹配有两个字符的回文正則表達式为:

'\(.\)\(.\)\2\1'

匹配随意长度的回文脚本例如以下所看到的:

#!/bin/bash
#file name: match_palindrome.sh
#function: find palindrome in a file. if [ $# -ne 2 ]
then
echo "Usage: $0 filename string_length"
exit -1
fi filename=$1 basepattern='/^\(.\)' count=$(( $2/2 )) # matche certain length
for ((i=1; i < $count; i++))
do
basepattern=$basepattern'\(.\)';
done # the length is even
if [ $(( $2 % 2)) -ne 0 ]
then
basepattern=$basepattern'.';
fi for ((count; count > 0; count--))
do
basepattern=$basepattern'\'"$count";
done echo "debug: $basepattern" # print the result
basepattern=$basepattern'$/p'
sed -n "$basepattern" $filename

最新文章

  1. 七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL
  2. build配置
  3. ATL是如何实现线程安全的引用计数和多线程控制的
  4. [转载]TableView详解
  5. centos 6.X 安装scrapy-原创
  6. java中几种常见字符集与乱码介绍
  7. Apache—DBUtils
  8. ios专题 - 常用设计模式
  9. zoj3713 7Bit
  10. JQuery+CSS3实现封装弹出登录框效果
  11. 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
  12. BZOJ 2064: 分裂 [DP 状压 转化]
  13. PHP的性能优化方法总结
  14. [HNOI2011]数学作业
  15. HashMap与ConcurrentHashMap的测试报告
  16. 洛谷 [HNOI2014]道路堵塞 解题报告
  17. Spark学习笔记——构建基于Spark的推荐引擎
  18. mysql8.0.4以后修改密码方式变更
  19. PHP SFTP应用(二)
  20. Spring cloud config-client 爬坑

热门文章

  1. JavaScript学习代码整理(一)
  2. ASP.NET多用户操作相同互斥的对象
  3. [转贴]C++调用openssl 的AES加密例子
  4. 创建虚拟桌面的代码(重启桌面进程)(使用GetThreadDesktop,CreateDesktop,SetThreadDesktop等函数)
  5. bzoj3172
  6. 在Windows Azure公有云环境部署企业应用
  7. 推荐一个Xcode插件: KSImageNamed (自动补全图片文件名称, 并显示图片大小)
  8. Android调试时, &quot;adb devices&quot;命令提示 adb server is out of date. killing...
  9. 【转】我的电脑最近忽然开不了机,启动修复也无法修复,win7系统。开机的时候如果不点启动修复直接正常启动
  10. 【ArcGIS Server 开发系列】Flyingis六大系列讲座精品PDF奉献