连享会-“文本分析与爬虫”专题研讨会
在自然语言处理中,很多时候我们都需要从文本或字符串中抽取出想要的信息,并进一步做语义理解或其它处理。在本文中,作者由基础到高级介绍了很多正则表达式,这些表达式或规则在很多编程语言中都是通用的。
正则表达式(regex
或 regexp
)对于从文本中抽取信息极其有用,它一般会搜索匹配特定模式的语句,而这种模式及具体的 ASCII
序列或 Unicode
字符。从解析/替代字符串、预处理数据到网页爬取,正则表达式的应用范围非常广。
其中一个比较有意思的地方是,只要我们学会了正则表达式的语句,我们几乎可以将其应用于多有的编程语言,包括 JavaScript、Python、Ruby
和 Java
等。只不过对于各编程语言所支持的最高级特征与语法有细微的区别。
基本语句
锚点:^ 和 $
^The 匹配任何以“The”开头的字符串 -> Try it! (https://regex101.com/r/cO8lqs/2)end$ 匹配以“end”为结尾的字符串^The end$ 抽取匹配从“The”开始到“end”结束的字符串roar 匹配任何带有文本“roar”的字符串
数量符:*、+、?和 {}
abc* 匹配在“ab”后面跟着零个或多个“c”的字符串 -> Try it! (https://regex101.com/r/cO8lqs/1)abc+ 匹配在“