: 是文本模式,包括普通字符和特殊字符。
正则表达式使用单个字符串来描述或匹配一系列符合某种语法规则的字符串。
如何从字符串中查找数字:
var str = "";
var patt1 = /[0-9]+/;
.write(str.match(patt1));
通配符? * +:
? 匹配文件中0个或1个字符;
* 匹配文件中0个或多个字符;
+ 匹配一个或多个字符
data(\w)?\.dat:匹配 data.dat、data1.dat、datae.dat、dataE.dat
data.*\.dat:匹配 data.dat、data1.dat、.dat、.dat、.dat
^[0-9]+abc$:^匹配输入字符串的起始位置,[0-9]匹配单个数字,+匹配一个或多个数字,[0-9]+匹配一个或多个数字,abc$匹配字母abc并以abc结尾,$匹配输入字符串的结束位置
^[a-z0-9_-]{3,15}$:匹配以字母或数字或下划线或连字符开头,长度为3到15个字符的字符串
为什么使用
1. 测试字符串内的模式以进行数据验证;
2.替换文本进行文本编辑;
3、基于模式匹配从字符串中提取子串进行数据采集;
正则表达式描述了一种字符串匹配模式,可用于检查字符串是否包含某个子字符串、替换子字符串或从字符串中提取符合条件的子字符串。
+:表示前面的字符必须至少出现一次
*:表示前面的字符可能不出现或至少出现一次
?: 表示前面的字符可以出现一次或根本不出现
正则表达式的组成:元字符、运算符、普通字符
有 8 个非打印字符和 11 个特殊字符
非打印字符:换页、换行、回车、垂直制表符控制字符
\cx、\f、\n、\r、\s、\S、\t、\v
\cx :匹配 x 指定的控制字符
\f :匹配换页符,相当于 \cL 和 \x0c
\n :匹配换行符,相当于 \cJ 和 \x0a
\r:匹配回车符,相当于\cm和\x0d
\t :匹配制表符,相当于 \cl 和 \x09
\v :匹配垂直制表符,相当于 \cK 和 \x0b
\s:匹配任意空白字符,相当于[\f\n\r\t\v]
\S :匹配任何非空白字符,相当于 [^ \f\n\r\t\v]
元字符(特殊字符):带尖点的问星号、小号、中号、大号、反斜杠和竖线
?:匹配前面的字符,最多出现一次
*:匹配前面的字符,该字符可能不会出现或出现多次
+:匹配加号之前的一个字符,至少出现一次
^:脱字符号从字符串的开头开始匹配
.: 匹配除换行符之外的任何单个字符 \n
$:美元符号标识匹配字符串的结束字符
():标记子表达式的开始和结束
[]:标记括号表达式的开始和结束
{}:标记限定符表达式的开始和结束
\:标记下一个字符
|:逻辑或,表示两项之间的选择
限定符:指定正则表达式的给定组件必须出现多少次才能满足匹配。 6
?:限制正则表达式中给定组件最多出现1次
*:限制正则表达式中给定组件至少出现0次
+:限制正则表达式中给定组件至少出现1次
{n}:限制正则表达式中的给定组件恰好出现 n 次
{n,}:限制正则表达式中给定的组件至少出现n个
{n,m}:限制正则表达式[n,m]中给定组件的出现范围
通过增加 ? 在 ?,*,+ 限定符之后,表达式从“贪婪”表达式转换为“非贪婪”表达式或最小匹配
定位器:定位器可以将正则表达式固定在行首或行尾。
^:字符串的起始位置
$:字符串的结束位置
\b:单词的前后边界
\B:非字边界
我先写在这里,作为阶段性学习的总结。