• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
yunhuasheng's blog
everything that we can't do now ,but future with our endeavor. springfield!
博客园    首页    新随笔    联系   管理    订阅  订阅

什么是javascript 中的元字符?

什么是javascript 中的元字符?

元字符“?”与“( )”

元字符是一些具有特殊意义的专用字符,可以用于各种匹配关系。这里介绍两个元字符:'?'和'()'。

  1  用?表示可选项

?表示紧靠其前的元素项是可选(可有可无)的。例如,abc?能匹配abc和ab。如果让?匹配多个字符,必须用圆括号将这些字符括起来,使之成为一个紧密结合的组合项。这样,后面的?就表示圆括号中的内容可有可无。例如,a(bc)?能匹配a和abc。

如果一个图书编号的格式或者是5个数字字符(如10101);或者是5个数字后面加上一个连字符(-),再加上4个数字组成的10位字符(如11111-1234)。那么,查找这种格式的图书编号时,就可以使用“"d{5}(-"d{4})?”作为匹配模式。

其中,"d表示匹配一个任意的数字字符,{5}表示紧靠其前的元素项连续重复5次,"d{5}表示匹配任意连 续的5个数字,等效于"d"d"d"d"d。-"d{4}匹配的是一个连字符(-)后加上4个任意数字,(-"d{4})?表示连字符(-)及其后的4个 数字可有可无。

  2  用( )表示子匹配

除了能将多个元素组合成一个组合项外,括起来的表达式部分还称为一个子匹配(也称子表达式)。即可以用圆括号 在一个长的表达式中划分出子表达式。这样,除了可以得到整个正则表达式的匹配结果外,还可以得到每个子表达式所匹配的结果。子表达式匹配的内容按照从左到 右的顺序存储在缓冲区,该过程称为捕获。

子匹配捕获的内容可在表达式中位于该括号之后的地方被反向引用,第一个圆括号(即第一个子匹配)捕获的内容用"1表示,第二个用"2表示,依此类推。

例如,要匹配两个相同的连续数字字符的正则表达式是("d)"1;要匹配连续5个相同的数字字符的正则表达式为("d)"1{4};要匹配1221、3553、6776等这样千位与个位相等、百位与十位相等的数字,可以使用的正则表达式为("d)("d)"2"1。


posted @ 2007-08-28 20:11  yunhuasheng  阅读(900)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3