正则表达式学习笔记——示例
1. 匹配空行
/^\s*$/
2.验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。
/\d{2}-\d{5}/
3.一个单词连续出现的位置
/\b([a-z]+)\1\b\gi
4. 匹配HTML标签
/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/
5. 定位章节的位置
/^(?:Chapter|Section)[1-9][0-9]{0,1}$/
6. 将一个URL解析为协议、域、端口及相对路径
http://www.w3cschool.cc:80/html/html-tutorial.html
下面的正则表达式提供该功能:
/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
第一个括号子表达式捕获 Web 地址的协议部分。该子表达式匹配在冒号和两个正斜杠前面的任何单词。
第二个括号子表达式捕获地址的域地址部分。子表达式匹配 / 和 : 之外的一个或多个字符。
第三个括号子表达式捕获端口号(如果指定了的话)。该子表达式匹配冒号后面的零个或多个数字。只能重复一次该子表达式。
第四个括号子表达式捕获 Web 地址指定的路径和/或页信息。该子表达式能匹配不包括 # 或空格字符的任何字符序列。
将正则表达式应用到上面的 URI,各子匹配项包含下面的内容:
- 第一个括号子表达式包含"http"
- 第二个括号子表达式包含"www.w3cschool.cc"
- 第三个括号子表达式包含":80"
- 第四个括号子表达式包含"/html/html-tutorial.html"
吾尝终日而思矣 不如须臾之所学也