javascript_core_05之正则表达式
1、 检索关键词:
①检索固定关键词的位置:
var i=str.indexOf(“关键词”,fromi);在str中查找fromi位置后,下一个关键词的下标位置;省略fromi,从0开始;
var i=str.lastIndexOf(“关键词”,fromi);在str中查找fromi位置前,上一个关键词的下标位置;省略fromi从末尾开始;
②判断是否包含符合规则的关键词:
var i=str.search(/正则表达式/);找到返回下标,未找到返回-1;
2、正则表达式:
最简单的正则表达式就是关键词原文;
字符集:【字符列表】①一位字母:【A-Za-z】;②一位数字:【0-9】或者\d;③一位汉字:【\u4e00-\u9fa5】;④除了XX:【^XX】;⑤一位数字,字母,下划线:\w ó【0-9A-Za-z_】;⑥一位空字符,空格,换行,Tab:\s;⑦一位任意字符:.;
3、正则量词:
①{m,n}:至少m个,最多n个;②{m,}:m个以上;③{m}:必须m个;④?:0或1个;⑤*:0个或以上不限;⑥+:1个或以上不限;
4、正则选择,分组:
①选择:规则1|规则2;②分组:(规则1)|(规则2);
5、正则表达式示例:
手机号:(\+86|0086)?\s*1【34578】\d{9};
密码强度:①至少包含一位大写字母:(?!【a-z0-9】+$);②至少包含一位数字:(?!【A-Za-z】+$);③6~8位字母数字组合:【0-9A-Za-z】{6,8};
6、正则位置匹配:
①^:匹配字符串开头;②$:匹配字符串结尾;③\b:匹配单词边界;
7、检索操作关键词:
①查找一个固定关键词的位置:
var i=str.indexOf(“关键词”,fromi);
var i=str.lastIndexOf(“关键词”,fromi);
②判断是否包含符合规则的关键词:
var i=str.search(/reg/);
③返回所有关键词内容:
var kwords=str.match(/reg/i);
* i为忽略大小写;g为全部查找;
④替换:str=str.replace(/reg/ig,“替换值”);不直接修改,返回新字符串;
⑤切割:var subs=str.split(/reg/);按reg匹配切割为多个子字符串存在subs中;
⑥获得指定位置字符:
str.charAt(i);óstr【i】;
var code=str.charCodeAt(i);ó获得i位置字符的Unicode号;
var char=String.fromCharCode(code);ó将Unicode号转为字符;
⑦截取子字符串:
str.slice(starti,endi+1);
str.substring(starti,endi+1);不支持负数参数;
str.substr(starti,n);从starti开始截取n个字符;
javascript_core_05之正则表达式的更多相关文章
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- Python高手之路【五】python基础之正则表达式
下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...
- C# 正则表达式大全
文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...
- C#基础篇 - 正则表达式入门
1.基本概念 正则表达式(Regular Expression)就是用事先定义好的一些特定字符(元字符)或普通字符.及这些字符的组合,组成一个“规则字符串”,这个“规则字符串”用来判断我们给定的字符串 ...
- JavaScript正则表达式,你真的知道?
一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- 【JS基础】正则表达式
正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...
- JavaScript 正则表达式语法
定义 JavaScript定义正则表达式有两种方法. 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); ...
- [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)
数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...
随机推荐
- VS2013正确设置DLL环境变量目录的方法
VS有个比较迷惑人的选项,就是在工程>>属性中有个Executable Directories设置项, 几乎所有地球人都认为这个选项是设置exe可执行文件依赖的DLL目录用的,这无疑会方便 ...
- 【随机化】bzoj4080 [Wf2014]Sensor Network
#include<cstdio> #include<algorithm> #include<cmath> using namespace std; typedef ...
- 任务调度框架-Quartz.Net
使用Quartz.Net依赖于以下3个组件:Common.Logging.dll.Common.Logging.Core.dll.Quartz.dll 简单封装 using Quartz; using ...
- Ubuntu系统网卡IP配置方法
主要文件为:/etc/network/interfaces 在没有任何配置的情况下,其内容为以下两行: auto loiface lo inet loopback 配置网口为动态获取IP的,在末尾加上 ...
- AngularJS是什么
先标明来源: https://code.angularjs.org/1.3.15/docs/guide/introduction 也就是官网针对1.3.15版的说明 What Is Angular? ...
- 访问控制public/protected/private的区别
Java支持四种不同的访问权限: 修饰符 说明 public 共有的,对所有类可见. protected 受保护的,对同一包内的类和所有子类可见. private 私有的,在同一类内可见. 默认的 在 ...
- bochs上网及配置
下载并安装bochs2.6:(不能是更高版本) 创建bochs 时注意勾选Dlx linux Demo,但是其文件bochsrc.bxrc中无Ne2k网卡选项,这一段要自己添加,详情见后. 先确定我们 ...
- p68 对数变换 关于fft2 fftshift 频谱
p68 频谱:绝大多数信号可分解若干不同频率的正弦波, 些正弦波中,频率最低的称为信号的基波,其余称为信号谐波,相当于该信号的基本频率.频率等于基频整数倍的正弦波分量称为谐波. 1.fft2 fft ...
- 我的Sharepoint视图的使用
视图是个很灵活的工具,不过在使用前,为了更好的管理视图,我会将Contribute的权限的视图功能去掉. 普通用户都设为Contribute权限,有增删改操作就行. 这样做主要有三个目的: 1.不能让 ...
- NY 325 zb的生日
假设所有西瓜重 Asum,所求的是用 Asum / 2 的背包装,最多装下多少. 刚开始用贪心作的,WA.后来用01背包,结果TLE,数据太大.原来用的是深搜! dfs(int sum, int i) ...