iyth888 发表于 2018-8-31 10:47:54

Perl语言学习之正则表达式

  正则表达式
  ** 正则表达式就是一种模式型语言,一种可以匹配或者不匹配的某种模版;
  ** 完整的正则表达式是由 特殊字符--元字符和普通文本字符--文字;
  ** 普通的字符对应普通的语言中的单词,而元字符对应相应的语法,根据语言的规      则,按照语法把单词组合起来,就能得到想要的传达的文本;
  eg:s!(+(\.+){3})!$1!
  [()+(\.+){3})]
  me: ((\d+)(\.\d+){3})
  【意思就是匹配IP地址,类似于:192.168.10.1】
  ** 简单的perl脚本测试:
  1、从输入中读取数据,遇到包含fred字符串的行就打印出来;
  【在linux中写的perl代码:】

  【执行的结果】

  2、 写一个程序,打印那些有两个相连且相同的非空格字符的行;

  【执行结果如下:】

  3、写个程序,输出和输入数据中同时出现han以及li的每一行;
  #!/usr/bin/perl
  print "please input you want something:\n"
  while ()
  {
  if (/han.*li/|/li.*han/)
  {
  print;
  }
  }
  【输出的结果】
  # ./a
  please input you want something:
  fred
  wilmafadsfsd;alffred
  wilmafadsfsd;alffred
  wilmaasdfasd
  **文件的检索就是正则表达式最简单的应用;

页: [1]
查看完整版本: Perl语言学习之正则表达式