会员中心 |  会员注册  |  兼职信息发布    浏览手机版!    精选9.9元!    人工翻译    英语IT服务 贫困儿童资助 | 留言板 | 设为首页 | 加入收藏  繁體中文
当前位置:首页 > 机翻技术 > 术语相关 > 正文

翻译记忆软件——基本正则表达式模式

发布时间: 2022-06-14 09:33:21   作者:etogether.net   来源: 网络   浏览次数:


通过使用方括号,解决了woodchuck的大小写问题,但还不能回答前面提出的那个问题:如何既表示woodchuck又表示woodchucks?我们不能用方括号实现这样的表示,因为方括号允许说“s或S”,但不允许说“s或无”。为此,我们使用问号/?/来表示“前一个字符或无”,如图5所示。


5.png


我们可以把问号的意义看成是“前一个字符的有或无”。这是一种表达我们想要多少东西的方法。迄今为止,我们还没有介绍过如何表示一个以上的事物,然而有时需要用正则表达式表示重复的事物。例如,羊的叫声可以看成语言,这种语言是如下包含重复符号的符号串:


baa!

baaa!

baaaa!

baaaaa!

baaaaaa!

...


这种语言的开头是一个b,后面跟着至少两个a,最后是一个惊叹号。有一种基于星号或“*”的算符可以允许我们表达“若干个a”,这种算符称为“Kleene *”(英文读为“cleany star”,我们不妨将其读为“Kleene星号”)。Kleene星号意味着“前面紧邻的字符或正则表达式出现零次或连续出现若干次”。这样,/a*/就可以表示“由零或若干个a构成的符号串”,它可以与a或aaaaaa相匹配,也可以与Off Minor相匹配,因为Off Minor包含零个a。所以,与包含一个或多个a的符号串相匹配的正则表达式是/aa*/,它表示一个a后面跟着零个或多个a。更复杂的模式也可以重复。所以,/[ab]*/表示“零个或多个a或b”(不是表示“零个或多个右方括号”)。这个正则表达式可以与类似aaaa,ababab或bbbb的符号串相匹配。


现在我们已经完全知道了怎样用正则表达式来表示多位数的价钱。单位数的价钱的正则表达式是/[0-9]/。因此,一个整数(数字串)的正则表达式就是/[0-9][0-9]*/。为什么不是/[0-9]*/呢?


有时,把数字的正则表达式写两次会令人感到厌烦,因此提出了一种表示数字“最少有一个”的简单方法。这种方法就是Kleene加号(Kleene+),Kleene加号意味着“前面一个或多个字符”。因此,正则表达式/[0-9]+/是“数字序列”的规范表达式。羊叫声的语言有两种表示方法:/baaa*!/和/baa+!/。


还有一个重要的字符就是点号(/./),这是一个通配符,表示任何与单个字符(回车符除外)相匹配的字符。


6.png


通配符经常与Kleene星号结合起来使用,含义是“任何字符串”。例如,如果我们想找到文本中的某一行,其中aardvark一词出现了两次。我们可以用正则表达式表示为:/aardvark.*aardvark/。


锚号(anchor)是一种把正则表达式锚在符号串中的某个特定位置的特殊字符。最普通的锚号是脱字符()和美元符($)。脱字符与行的开始相匹配。正则表达式/^The/表示单词The只出现在一行的开始。这样,脱字符可以有三种用法:表示一行的开始;在方括号内表示否定;只表示脱字符本身。什么样的上下文可以让Perl知道某个特定脱字符的功能是什么呢?。美元符$表示一行的结尾,所以模式“_$”是一个有用的模式,表示一行的结尾是一个空白。正则表达式/^The dog\$/表示仅包含短语The dog的一个行。这里必须使用反斜杠“\”,因为我们想让“.”表示点号,而不表示通配符。


此外还有两个其他的锚号:\b表示词界,而\B表示非词界。因此,/\bthe\b/表示单词the,而不表示单词other。从技术上讲,Perl把词定义为数字、下划线或字母的任何序列。这是根据像Perl 和C这样的程序语言中关于词的定义而言的。例如,/\b99/表示在“There are 99 bottles of beer on the wall”中的符号串99,因为99在一个空白后面。但是,这个正则表达式不表示“There are 299 bottles of beer on the wall”中的符号串99,因为99在一个数字后面。然而,这个正则表达式可以表示$99中的99,因为99跟在美元符号$后面,$不是数字、下划线或字母。



责任编辑:admin



微信公众号

[上一页][1] [2] 【欢迎大家踊跃评论】
我来说两句
评分: 1分 2分 3分 4分 5分
评论内容:
验证码:
【网友评论仅供其表达个人看法,并不表明本站同意其观点或证实其描述。】
评论列表
已有 0 条评论(查看更多评论)