如何区分 "基本正则表达式(BRE)" 和 "扩展正则表达式(ERE)" 的五个元字符

基本正则表达式(BRE)的五个元字符

  • ^:表示以什么开头。例如:以为root开头 ^root

  • $:表示以什么结尾。例如:以 root 结尾 root$

  • .:表示任意一个字符。例如:a.b 表示a开头,中间任意一个字符,b结尾的字符

  • *:表示该符号前面的字符出现0次或多次。例如:a* 表示a出现0次或者多次

  • []:表示匹配指定的任意一个字符之一,里面写啥就匹配啥,里面的符号不具备特殊含义

例如

  • 匹配一个字符:[13578] 表示匹配1或3或5或...`

  • 匹配一个范围:例如:[a-z] 表示字符从a-z之间的任意一个

  • 取反:表示不匹配里面的内容 例如:[^abcd] 表示不匹配abcd中的任意一个字符

扩展正则表达式(ERE)的五个元字符

  • +:和 * 号对应,+ 号表示的是 1次 或者 多次

  • ?:表示左边一个字符出现0次或者1次。例如:tom? 表示可以匹配tom或tomm

  • |:或者的意思,可以用来连接两个正则表达式。例如:a|b 表示a或b,取其中一个

  • ():表示一个整体,可以通过 \n 来取括号里的内容。例如:(tom)(bob)(alice)\2 \2表示得就是第二个括号的内容(bob)

  • {}:用于规定左边字符出现的次数

posted on 2025-11-28 17:19  一直小爪子  阅读(24)  评论(0)    收藏  举报