<script>
var str = 'asdf 34 656 cvs33';
console.log(str.match(3).index);//匹配返回3的小标索引 如果找不到返回 null
console.log(str.replace('a','k'));//把字符串里的a替换成k
/*********************************************************/
//查找字符串中所有的数字,存到数组中
var str1 = '12 hhh 98 hh45 h3 122 -+gg50';
//方法一:
console.log(str1.match(/\d+/g));//+若干个,g全局匹配
//方法二:
var arr = [];
var step = '';
for (var i = 0; i < str1.length; i++) {
if (str1.charAt(i) >= '0' && str1.charAt(i) <= 9) {
step += str1.charAt(i);
} else {
if (step) {
arr.push(step);
step = '';
}
}
}
if (step) {//把50推进去
arr.push(step);
step = '';
}
/*********************************************************/
js正则表达式
1.通过构造函数定义js风格
var 变量名 =new RegExp(/表达式/);
2.通过直接变量定义(较为常用)perl风格
var 变量名 = /表达式/
/*********************************************************/
var str2 = 'aBcdef';
var re = new RegExp(/b/);
console.log(str2.search(re));//正则
var re2 = new RegExp('b','i');//i代表忽略大小写
console.log(str.search(re2));//1
var re3 = /b/i; //常用的写法
console.log(str.search(re3));//1
/*********************************************************/
. [^\n\r] 除了换行和回车之外的任意字符(“”不行)
\d [0-9] 数字字符
\D [^0-9] 非数字字符
\s [\t\n\xOB\f\r] 空白字符
\S [^\t\n\xOB\f\r] 非空白字符
\w [a-zA-Z_0-9] 单词字符:字母数字下划线
\W [^a-zA-Z_0-9] 非单词字符
/*********************************************************/
元字符 []任意个都行
[abc]ph //a或b或c开头
例子: aph ,bph ,cph
[0-9]范围
例子:8
\d: 一个数组 0 6 9
[a-z] 任意个小写字母 b ,c,d
[^5-9] 排除5,6,7,8,9这些数字
量词:
{n} 出现n次
{n,m} 最少出现n次,最多出现m次
{n,} 最少出现n次
* 任意次
? 可有可无 0或1次
比方:
\d{8} :8个数字,八位数的数字 89642354
</script>
正则表达式常用方法
最新推荐文章于 2022-05-17 11:36:27 发布