正则表达式之POSIX字符类元字符
Posted 爬虫俱乐部
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式之POSIX字符类元字符相关的知识,希望对你有一定的参考价值。
有问题,不要怕!点击推文底部“阅读原文”下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~
POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,POSIX字符类是许多正则表达式都支持的一种简写形式(javascript不支持在正则表达式里使用POSIX字符类),经测试,以下11个POSIX字符类是可以在Stata14、Stata15中实现的(Stata14版之前,不可以使用POSIX字符类)。
POSIX语法与我们之前见过的元字符不太一样,POSIX字符类必须在[:和:]之间,也就是说[和]字符是POSIX字符类本身的组成部分。为了演示POSIX字符类的用法,我们看下边的例子:
(1)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:alnum:]", "X")
XXXXX,XXXX XXXX! XXXXXX X.
注释:POSIX字符类"[:alnum:]"可以匹配任何一个英文字母或数字(等价于[a-zA-Z0-9]),在Stata14、Stata15中还可以匹配汉字。这里将字符串中的英文字母、数字和汉字都替换为X。
(2)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:alpha:]", "X")
XXXXX,XXXX XXXX! XXXXXX 1.
注释:POSIX字符类"[:alpha:]"可以匹配任何一个英文字母(等价于[a-zA-Z]),在Stata14、Stata15中还可以匹配汉字。这里将字符串中的英文字母和汉字都替换为X。
(3)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:blank:]", "X")
爬虫俱乐部,veryXgood!XNumberX1.
注释:POSIX字符类"[:blank:]"可以匹配空格和制表符。这里将字符串中的空格都替换为X。
(4)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:digit:]", "X")
爬虫俱乐部,very good! Number X.
注释:POSIX字符类"[:digit:]" 可以匹配任何一个数字,等价于[0-9]或特殊元字符\d。这里将数字替换为“X” 。
(5)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:lower:]", "X")
爬虫俱乐部,XXXX XXXX! NXXXXX 1.
注释:POSIX字符类"[:alpha:]"可以匹配任何一个小写字母(等价于[a-z])。这里将所有的小写字母都替换为X。
(6)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:upper:]", "X")
爬虫俱乐部,very good! Xumber 1.
注释:POSIX字符类"[:upper:]"可以匹配任何一个大写字母(等价于[A-Z])。这里将所有的大写字母都替换为X。
(7)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:space:]", "X")
爬虫俱乐部,veryXgood!XNumberX1.
注释:POSIX字符类"[:space:]"可以匹配任何一个空白字符,相当于特殊元字符\s或[ \t\r\n\v\f]。这里这里将所有的空格都替换为X。
(8)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:xdigit:]", "X")
爬虫俱乐部,vXry gooX! NumXXr X.
注释:POSIX字符类"[:xdigit:]"可以匹配任何一个十六进制数字(等价于[a-fA-F0-9])。这里把英文字母e、d、b以及数字1,替换为X。
(9)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:punct:]", "X")
爬虫俱乐部Xvery goodX Number 1X
注释:POSIX字符类"[:punct:]"可以匹配除~、$、+、=、|、等大部分标点符号。这里把中文逗号(,!)、中文感叹号(!)以及英文句号(.)替换为X。
(10)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:print:]", "X")
XXXXXXXXXXXXXXXXXXXXXXXXXX
注释:POSIX字符类"[:print:]"可以匹配任何一个可打印字符(可显示在输出设备上),包括空格。这里把所有的字符包括空格均替换为X。
(11)dis ustrregexra("爬虫俱乐部,very good! Number 1.", "[:graph:]", "X")
XXXXXXXXXX XXXXX XXXXXX XX
注释:POSIX字符类"[:graph:]"可以匹配任何一个可打印字符,不包括空格。这里把除了空格外的所有字符全部替换为X。
注:此推文中的图片及封面(除操作部分的)均来源于网络!如有雷同,纯属巧合!
以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。另外,我们开通了苹果手机打赏通道,只要扫描下方的二维码,就可以打赏啦!
文字编辑:吴晓蔓
技术总编:刘贝贝
往期推文推荐:
关于我们
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
以上是关于正则表达式之POSIX字符类元字符的主要内容,如果未能解决你的问题,请参考以下文章