前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式 字符、字符组

正则表达式 字符、字符组

原创
作者头像
luoheng
发布2022-08-28 19:32:13
4400
发布2022-08-28 19:32:13
举报
文章被收录于专栏:luoheng

字符

字符是正则表达式中的基本元素,基于字符构建正则表达式。

下面是perl的正则表达式代码,含义是把content中的abc替换成大写的ABC。这里的a就是字符,表示在目标字符串中匹配a

代码语言:perl
复制
$content =~ s/abc/ABC/g;

字符组

字符组是用中括号[]包裹的一串字符,表示匹配字符组中任意一个字符。下面正则表达式的含义是将abc中的任意一个字符替换成D

代码语言:perl
复制
$content =~ s/[abc]/D/g;

字符组的否定形式是在字符组的开头使用^符号,表示匹配非字符组中的字符。下面正则表达式的含义是将非abc的字符替换成D

代码语言:perl
复制
$content =~ s/[^abc]/D/g;

字符组使用-表示范围(只能在字符组中生效),比如[0-9]表示匹配从09的某个数字,[a-z]表示匹配从az的某个字母。当-放在字符组开头,匹配-字符本身。下面正则表达式的含义是将字母或者数字替换为空(删掉)。

代码语言:perl
复制
$content =~ s/[0-9a-zA-Z]//g;

如这样的字符组[0-9a-zA-Z]较为常用,所以正则表达式提供了一些通用的字符表示法:

字符表示法

含义

\t

制表符

\n

换行符

\r

回车符

\s

空白字符(空格,制表)

\S

非空白字符

\w

a-zA-Z0-9

\W

\w取反

\d

0-9

\D

\d取反

. (点号)

任意字符(换行符除外)

这些字符表示法可以用在字符组中(除了点号,点号在字符组中匹配点号),也可用在字符组外。下面表达式含义是去掉行首尾的空白字符。

代码语言:perl
复制
$line =~ s/^\s+//;
$line =~ s/\s+$//;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字符
  • 字符组
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档