------- android培训 java培训、期待与您交流! ----------
正则表达式: 是一种字符串的约束的格式
一、正则表达式的匹配: 字符的范围与长度范围
字符类:
[abc] [a-z] [ABC] [A-Z] [123] [0-9] ----->范围
[^abc] ------>除出后的范围
[a-f&&b-g] ------->交集的范围
[a-cf-g] ------>并集的范围
简写字符类:
. ------->任何字符[0-9]
\d ------->数字 [^0-9]
\D ------->非数字
\s ------->空白字符
\S ------->非空白字符
\w ------->单词字符加下划线 [a-z_A-Z]
\W ------->非单词字符与下划线 [^\w]
长度:
X? ------>一次或者一次也没有
X* ------>零次或者多次
X+ ------>至少一次
X{n} ------>恰好n次
X{n,} ------>至少n次
X{n,m} ------>至少n次,最多不超过m次
二、正则表达式分组:
分组的作用:用来匹配那些有规律重复的字符串
分组的格式:
1.要分组的字符放在小括号里,可以任意放几位
2.\\1代表再出一次 \\1{n}代表要再出现n次
3.\\1代表第一个小括号的出现 \\2代表第二个小括号的出现 \\n代表第n的小括号的出现
三、正则表达式分割:
String.split() 用指定正则表达式能匹配的字符作为分隔符, 分割字符串
四、正则表达式替换:
String.replaceAll() 把字符串中能匹配正则表达式的部分替换为另一个字符串
五、正则表达式查找:
Pattern.compile() 创建正则表达式对象
Pattern.matcher() 用正则表达式匹配一个字符串, 得到匹配器
Matcher.find() 查找字符串中是否包含能匹配正则表达式的部分
Matcher.group() 获取匹配的部分
六、java与javascript的正则表达式的区别:
java:
用一对双引号来包含正则表达式
要用转义字符\
用String类的matches来匹配
javascript:
用一对正斜杠来包含正则表达式
不要用转义字符
用^与$符号加在正则表达式行开头与行结尾,
并且调用test是否包含匹配regex的部分,相当于java中的matches
js正则表达式去除空白: g是global全部的意思
1.去除一第个空白
2.去除行开头的所有的空白
3.去除行结尾所有的空白
4.去除所有的空白
5.去除行开头与行结尾所有的空白(用于表单验证用户在字符串前后不小心输入空白)
function trim(s) {
return s.replace(/^\s+|\s$/g,"");
}
js正则表达式忽略大小写: 在正则表达式后加i. i是ignore忽略的意思