Regular Expression简介
技术背景
- 普通的搜索和替换操作要求用户提供与预期的搜索结果匹配的确切文本。
- 这种技术对于对静态文本执行简单搜索和替换任务可能是足够的,
- 但是如果采用这种方法搜索动态文本,由于它缺乏灵活性,搜索和替换是十分繁琐的
正则表达式(Regular Expression)
- 正则表达式(Regular Expression)是一种文本模式,包括普通字符(比如,a到z之间的字母)和特殊字符(称为"元字符")。
- 正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
优点
- 测试字符串内的模式。
- 当测试输入字符串,可以查看字符串内是否出现电话号码模式或信用卡号码模式,这种操作也被称为数据验证。
- 替换文本。
- 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
- 基于模式匹配从字符串中提取子字符串。
- 可以查找文档内或输入域内特定的文本。
简单示例
-
^
为匹配输入字符串的开始位置; -
[0-9]+
匹配多个数字,[0-9]
匹配单个数字,+
匹配一个或者多个。 -
abc$
匹配字母abc
并以abc
结尾,$
为匹配输入字符串的结束位置。
当用户在注册用户名时,只允许用户名包括字符、数字、下划线(_)、连接字符(-),并且设置用户名长度,我们可以根据上述示例正则表达式进行设定,如下图所示: