grep正则表达式例子

grep支持的正则表达式有很多,这里尽量全面地列出各种正则表达式及其说明:

  1. ^ : 行首匹配。用于匹配字符串的开始。
  2. $ : 行尾匹配。用于匹配字符串的结束。
  3. . : 匹配除换行符外的任意一个字符。
    • : 匹配零个或多个前面的字符。
    • : 匹配一个或多个前面的字符。
  4. ? : 匹配零个或一个前面的字符。
  5. [] : 字符集合。匹配[]内的任意字符,如[abc]匹配a或b或c。
  6. | : 或操作符。用于连接两个表达式,如exp1|exp2匹配exp1或exp2。
  7. () : 用于组合表达式,如(exp1|exp2)。
  8. \ : 转义字符,用于匹配特殊字符。如.匹配.,\匹配\。
  9. 1 : 否定字符集合。用于匹配除[]内字符外的任意字符。
  10. {n} : 匹配n个前面出现的字符或子表达式。
  11. {n,} : 匹配至少n个前面出现的字符或子表达式。
  12. {n,m} : 匹配至少n个至多m个前面出现的字符或子表达式。
  13. [:alnum:] : 匹配字母或数字。
  14. [:digit:] : 匹配数字。
  15. [:lower:] : 匹配小写字母。
  16. [:upper:] : 匹配大写字母。
  17. [:punct:] : 匹配标点符号。
  18. [:space:] : 匹配空格、TAB等空白字符。
  19. [:alpha:] : 匹配字母。
  20. [:xdigit:] : 匹配16进制数字。

这里根据上一条回复中的grep正则表达式列表,给出对应的例子加以说明:
24. ^hello: 匹配以hello开始的行。
25. world$ : 匹配以world结束的行。
26. h.t : 匹配包含h、任意一个字符、t的行,如hat、hut等。
27. lo*ve : 匹配love、loove、loooove等包含以l和ve开头和结尾,中间0个或多个o的行。
28. he+llo : 匹配hello、heeello等以h和llo开头和结尾,中间1个或多个e的行。
29. hi? : 匹配hi或h,中间是0个或1个i。
30. [abc]at : 匹配aat、bat或cat。
31. (hello|hi) : 匹配hello或hi。
32. (ab)+ : 匹配ab、abab、ababab等包含1个或多个ab的行。
33. . : 匹配.本身(转义)。
34. [^abc] : 匹配除a、b、c外的任意字符。
35. {3} : 匹配3个前面出现的字符或子表达式,如ooo。
36. o{2,} : 匹配至少2个o,如oo、ooo、oooo等。
37. o{1,3} : 匹配1到3个o。
38. [:digit:]{4} : 匹配由4个数字组成的行,如1234。
39. [:lower:]{5} : 匹配由5个小写字母组成的行,如hello。
40. [:punct:]{2} : 匹配由2个标点符号组成的行,如:: 或 ;;。
41. [:space:]{3} : 匹配由3个空格组成的行,如 。
42. [:upper:]{3} : 匹配由3个大写字母组成的行,如ABC。
43. [:xdigit:]{1,8} : 匹配1到8个16进制数字,如1、a7b3c等。


  1. … ↩︎

你可能感兴趣的:(正则表达式)