自然语言处理笔记(day1)

自然语言处理笔记(day1)

第2章 正则表达式、文本规范化、编辑距离

2.1 正则表达式
2.1.1 基本正则表达式模式

字符串匹配:搜索首次匹配的字符串,大小写区分匹配。

[ ] ,[ - ] 可以对括号里面的字符串进行指定的搜索,搜索出[ ]括号中任意包含的某一个字符。

“^” 在[ ]中表示非、否定

/[ˆA-Z]/ 表示匹配不是大写字母的字符

/[eˆ] 表示匹配 ‘e’ 或者 ’^‘

/aˆb/ 表示匹配 ”a^b“

/colou?r/ 表示?前一个字符没有或者?后面的字符没有。

/aa*/ 匹配一个或多个a的正则表达式 。

/[ab]*/ 表示“0个或多个a或b”(而不是“0个或多个右方括号”)

/[ 0-9 ][ 0-9 ]*/ 表示仅限整数的一串字符串

/[0-9]+/ 表示仅限整数的一串字符串

/baaa*!/ or /baa+!/ 表示

baa!
baaa!
baaaa!
baaaaa!
.........

/beg.n/ 表示“beg” 和 “n” 中间可以是任意字符(回车除外).可以指定除回车以外的任意字符。

/.*/ 表示任意字符串

/ˆ 单独的“^”表示这一行的开始

/$ 表示一行的结尾

\b 表示单词边界

\B 表示非单词边界

2.1.2 分离、分组和优先级

“|” 析取

/cat|dog/ 表示匹配字符串cat 或者 dog

/gupp(y|ies) 表示匹配 guppy 或者 guppies

模式匹配时会尽可以的匹配最长的字符串

2.1.2 一个简单的例子(匹配精度一步步提高的过程)

情况一:

/the/ 缺少The

/[T/t]he/ the为嵌入的字符时匹配错误

/\b[T/t]he\b/ 为the增加了边界,成功

情况二:

/the/ 缺少The

/[T/t]he/ the为嵌入的字符时匹配错误

/[^a-zA-Z][T/t]he[^a-zA-Z]/ 当the为首单词时,不能匹配,要求了the之前或之后必须有字符(非字母)

/[^|A-Za-z][T/t]he[$|A-Za-z]/ 要求了the可以为首字母,成功

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值