正则表达式常常被认为是一种现用现取的工具,开发者会忽视其潜在的场景和应用。实际上,几乎所有的开发语言均对其进行了差异化的实现,基于这一点,它被广泛应用于数据校验、 数据处理等场景。 从某种意义上说,正则表达式已经不是一种现用现取的工具,而是每个开发者必须要具备的一项基础素质。
应用场景
在开发API时判断请求参数中的手机号是否合法,使用数据爬虫爬取网页中某个标签下的数据,对敏感数据进行检测与处理,采集日志时根据格式提取关键信息等,这些场景都需要使用正则表达式来提高 处理的效率。概括来说主要分为两方面:字符串格式校验、字符串提取
字符串格式校验
一次性判断一整个字符串是否符合某种格式。比如用^[0-9]+$来校验字符串是否只包含数字,用^[a-zA-Z0-9]+@gmail\.com$来校验是否是谷歌邮箱等。
字符串提取
根据某种格式从一段字符串中提取出符合要求的字串。比如使用[a-z]+从hey, welcome to 中国里提取出所有的英文单词:hey、welcome和to。