- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章正则表达式使用示例详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串.
下面通过实例代码介绍下正则表达式使用 。
//一个数据类型,记录文本规则,一些事先定义好的一些特殊字符,对字符串的过滤逻辑 。
//表单验证账号长度,字母或数字组合,高级搜索 。
//特点,不仅js有;极简的方式操作字符串;灵活,功能强大 。
// 正则表达式大全 。
1
2
|
var patt1=new RegExp(
"e"
);
document.write(patt1.
test
(
"The best things in life are free"
));
|
/*是否带有小数*/ 。
1
2
3
4
|
function
isDecimal(strValue ) {
var
objRegExp= /^\d+\.\d+$/;
return
objRegExp.test(strValue);
}
|
/*校验是否中文名称组成 */ 。
1
2
3
4
|
function
ischina(str) {
var
reg=/^[\u4E00-\u9FA5]{2,4}$/;
/*定义验证表达式*/
return
reg.test(str);
/*进行验证*/
}
|
/*校验是否全由8位数字组成 */ 。
1
2
3
4
5
6
|
function
isStudentNo(str) {
var
reg=/^[0-9]{8}$/;
/*定义验证表达式*/
return
reg.test(str);
/*进行验证*/
}
var
arr =
new
Array();
var
reg =
new
RegExp(/\d/);
|
//表示匹配数字 。
1
2
|
reg = reg.test(
"jndwjdw"
);
console.log(reg);
|
//正则对象。test(需要验证的字符串) 。
//字面量声明 。
var reg2 = /男|女/,
//有没有其中一个 。
1
2
3
|
var
reg = reg2.test(
"呦呦哟偶女"
);
console.log(reg);
console.log(/男|女/.test(
"哈迪哈迪哈女"
));
|
//语法 。
//.test();正则表达式检测某段字符串 。
//预定义类 。
1
2
3
4
5
6
7
|
console.log(/./.test(
"\r"
));
//除了回车和换行外的任意字符
console.log(/\d/.test(
"123"
));
//检测是不是数字
console.log(/\D/.test(
"sh"
));
//非数字字符,只要不是数字就true,只要有一个就是true
console.log(/\s/.test(
"\r"
));
//只要有不可见就true\r\n\f\h\两个空字符串拼接是false
console.log(/\S/.test(
"ah7"
));
//只要有可见字符就对
console.log(/\w/.test(
"b-8"
));
//所有字母数字和下短线_,只要有就是对短线
console.log(/\W/.test((
"bg8-@"
)));
//true//只要有非单词字符就是对
|
//自定义类,没有\ 。
1
2
3
4
5
6
|
console.log(/d/.test(
"123"
));
//检测这段里面有不有d这个字 //
console.log(/yskma/.test(
"yskmama"
));
//true//检测这段字符串包不包含yskma,不能断开不能中间穿插别的
console.log(/yskmama/.test(
"ysk"
));
//false //或和优先级
console.log(/ysk|mama/.test(
"ysk"
));
//true
console.log(/ys(k|m)a/.test(
"ysk"
));
//false//检测这段字符串中有不有yska或者ysma
console.log(/ys(k|m)a/.test(
"yskma"
));
//false//检测这段字符串中有不有yska或者ysma
|
//简单类[]代表一个字符 。
1
2
3
|
console.log(/[abc]/.test(
"gbhigf"
));
//true//只要出现abc中 的任意一个就是对
console.log(/y[abc]z/.test(
"yaz"
));
//true//包含yz,并选一个a
console.log(/y[abc]z/.test(
"yabcz"
));
//false//abc只能要一个
|
//负向类[^ ]取反 。
1
2
|
console.log(/[^abc]/.test(
"a"
));
//false//除了括号外的内容才是对,有就是错,不能有括号内的
console.log(/[^abc]/.test(
"af"
));
//true//除了括号外的内容才是对,有就是错,不能有括号内的
|
//范围类 。
console.log(/[0-9]/.test("b8jg")); //true 。
//组合类,组合起来就是组合类,自定义类 。
//^边界,以。。开头 。
//$以。。结尾 。
//^bc$严格匹配 。
//.回车和换行以外的 。
1
2
3
4
5
6
7
|
console.log(/^6a/.test(
"6akjjkak"
));
//true
console.log(/^6.a/.test(
"6akjjkak"
));
//false
console.log(/[.]{8}/.test(
"6akjjkak"
));
//false,当前"."就是代表字符串".",此处没有8个".",所以false;
console.log(/ac$/.test(
"6akjjkakac"
));
//true//ac结尾
console.log(/^6a$/.test(
"6a"
));
//true
console.log(/^\d$/.test(
"9"
));
//true//只能出现一次
console.log(/^abc\d$/.test(
"abc7"
));
//true//只能出现一次
|
//量词:?0||1次;+前面的>=1次;*>=0次 。
1
2
3
4
5
6
|
console.log(/^colo*r$/.test(
"color"
));
//true
console.log(/^colo+r$/.test(
"color"
));
//true
console.log(/^colo?r$/.test(
"color"
));
//true
console.log(/^colo?r$/.test(
"colr"
));
//true
console.log(/^colo?r$/.test(
"coloor"
));
//false
console.log(/^colo*r$/.test(
"colooooooor"
));
//true
|
//量词,{}前面出现的:。。{n}n次;{n,}>=n;{n,m}...>=n..<=m 。
//*{0,}..?{0,1}....+{1,} 。
//括号总结{}次数;[]一个;()一组,分组 。
//转Unicode:escape("你好")-----Ununicod("u%hkkblpp%^Vhk") 。
//所有汉字在一到与之间 。
1
2
|
console.log(/[\u4e00-\u9fa5]/.test(
"哈"
));
console.log(/[\u4e00-\u9fa5]{3}/.test(
"哈你好"
));
|
//字符串替换 。
1
2
3
|
var
str =
"abcde"
;
console.log(str.replace(
"a"
,
"b"
));
//bbcde
console.log(str.replace(/a/g,
"b"
));
//bbcde
|
//换成句号 。
1
2
3
|
var
str =
"a,b,c,d,e"
;
var
str2 = str.replace(/,/g,
"."
);
//g是替换全部
console.log(str2);
|
//修改成绩 。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
var
str =
"a,b,c,70,90"
;
var
str2 = str.replace(/\d{1,}/g,
"100"
);
//g是替换全部
console.log(str2);
//吧,.都改成。
var
str =
"a,b,c,70,90."
;
var
str2 = str.replace(/[ , , .]/g,
"。"
);
//g是替换全部
console.log(str2);
var
stra =
" abc "
function
MyTirm(stra) {
var
str3 = stra.replace(/^\s+|\s+$/g,
""
);
//去掉前后空格空格换成空字符串
return
str3;
}
var
str2 = MyTirm(stra);
console.log(
"=="
+ str2 +
"=="
);
|
//想要的字符提取出来,提取邮箱 //来不及写 。
//math,提取符合要求的元素 。
//分组提取,提取邮箱的每一个部分 。
RegExp.$1, RegExp.$2, RegExp.$3 。
//检索字符indexof();lastindexof();返回下标 。
1
2
3
|
var
str =
"张三:1000,李四:5000,王五:8000。"
;
var
arr = str.match(/\d+/g);
console.log(arr);
//math返回数组,提取元素
|
//exec只取一个,math可以取全部的 。
//正则对象:test,exec........字符串:math,spilt,search.
//用某个字符分隔字符串 。
1
2
3
|
var
str =
"123123@xx.com,fangfang@valuedopinions.cn 286669312@qq.com 2、emailenglish@emailenglish.englishtown.com 286669312@qq.com..."
;
var
arr = str.match(/\w+@\w+(\.\w+)+/g);
console.log(arr);
|
//6 分组提取 。
1
2
3
4
5
6
7
8
9
10
|
//提取email中的每一部分
var
str =
"123123@xx.com"
;
var
reg = /(\w+)@(\w+)\.(\w+)(\.\w+)?/;
var
array = str.match(reg);
//获取分组的数据 ()是分组
console.log(RegExp.$1);
//123123
console.log(RegExp.$2);
//xx
console.log(RegExp.$3);
//com //分组练习
var
str =
"5=a, 6=b, 7=c"
;
str = str.replace(/(\d)=(\w)/g,
"$2====$1"
);
//吧567分3组,吧abc分3组,2组在前面,1组在后面
console.log(str);
|
//i 忽略大小写 。
//g 全局匹配 。
//控制字符串相关方法 。
//1、正则对象的 test exec 。
//2、字符串的 replace search match split 。
//用法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
console.log(/\d/.test(
"123"
));
console.log(/[\u4e00-\u9fa5]{3}/.test(
"哈你好"
));
//除了.test和search方法能直接执行,math,replace,split,exec都需要数组接收返回值
var
str =
"abc100,ccc200,ddd300"
;
var
arr = /\d+/.exec(str);
console.log(arr +
"这儿"
);
//100//只能匹配一项,可以用在分组匹配
var
arr = str.match(/\d+/g);
console.log(arr);
var
str =
"abc100ccc200ddd300"
;
var
arr = str.split(/\d+/);
console.log(arr);
var
str =
"哈哈哈哈,100分"
;
//检索里面数字出现的下标
console.log(str.search(/\d+/));
var
str =
"abcdebfg"
;
var
strNew = str.replace(
"b"
,
"d"
);
console.log(strNew);
console.log(str);
var
v = 2
new
RegExp(
"^\\d+"
+ v +
"$"
).test(12)
//true
|
总结 。
以上所述是小编给大家介绍的正则表达式使用示例详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的! 。
原文链接:https://www.cnblogs.com/chenluqing/archive/2019/05/09/10837998.html 。
最后此篇关于正则表达式使用示例详解的文章就讲到这里了,如果你想了解更多关于正则表达式使用示例详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在网上搜索但没有找到任何合适的文章解释如何使用 javascript 使用 WCF 服务,尤其是 WebScriptEndpoint。 任何人都可以对此给出任何指导吗? 谢谢 最佳答案 这是一篇关于
我正在编写一个将运行 Linux 命令的 C 程序,例如: cat/etc/passwd | grep 列表 |剪切-c 1-5 我没有任何结果 *这里 parent 等待第一个 child (chi
所以我正在尝试处理文件上传,然后将该文件作为二进制文件存储到数据库中。在我存储它之后,我尝试在给定的 URL 上提供文件。我似乎找不到适合这里的方法。我需要使用数据库,因为我使用 Google 应用引
我正在尝试制作一个宏,将下面的公式添加到单元格中,然后将其拖到整个列中并在 H 列中复制相同的公式 我想在 F 和 H 列中输入公式的数据 Range("F1").formula = "=IF(ISE
问题类似于this one ,但我想使用 OperatorPrecedenceParser 解析带有函数应用程序的表达式在 FParsec . 这是我的 AST: type Expression =
我想通过使用 sequelize 和 node.js 将这个查询更改为代码取决于在哪里 select COUNT(gender) as genderCount from customers where
我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误: #/bin/bash var1=/tmp
这里,为什么我的代码在 IE 中不起作用。我的代码适用于所有浏览器。没有问题。但是当我在 IE 上运行我的项目时,它发现错误。 而且我的 jquery 类和 insertadjacentHTMl 也不
我正在尝试更改标签的innerHTML。我无权访问该表单,因此无法编辑 HTML。标签具有的唯一标识符是“for”属性。 这是输入和标签的结构:
我有一个页面,我可以在其中返回用户帖子,可以使用一些 jquery 代码对这些帖子进行即时评论,在发布新评论后,我在帖子下插入新评论以及删除 按钮。问题是 Delete 按钮在新插入的元素上不起作用,
我有一个大约有 20 列的“管道分隔”文件。我只想使用 sha1sum 散列第一列,它是一个数字,如帐号,并按原样返回其余列。 使用 awk 或 sed 执行此操作的最佳方法是什么? Accounti
我需要将以下内容插入到我的表中...我的用户表有五列 id、用户名、密码、名称、条目。 (我还没有提交任何东西到条目中,我稍后会使用 php 来做)但由于某种原因我不断收到这个错误:#1054 - U
所以我试图有一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下“。”而不是空格。 例如,如果我输入: 地球的 70% 是水,-!*#$^^ & 30% 土地 输
我正在尝试做一些我认为非常简单的事情,但出于某种原因我没有得到想要的结果?我是 javascript 的新手,但对 java 有经验,所以我相信我没有使用某种正确的规则。 这是一个获取输入值、检查选择
我想使用 angularjs 从 mysql 数据库加载数据。 这就是应用程序的工作原理;用户登录,他们的用户名存储在 cookie 中。该用户名显示在主页上 我想获取这个值并通过 angularjs
我正在使用 autoLayout,我想在 UITableViewCell 上放置一个 UIlabel,它应该始终位于单元格的右侧和右侧的中心。 这就是我想要实现的目标 所以在这里你可以看到我正在谈论的
我需要与 MySql 等效的 elasticsearch 查询。我的 sql 查询: SELECT DISTINCT t.product_id AS id FROM tbl_sup_price t
我正在实现代码以使用 JSON。 func setup() { if let flickrURL = NSURL(string: "https://api.flickr.com/
我尝试使用for循环声明变量,然后测试cols和rols是否相同。如果是,它将运行递归函数。但是,我在 javascript 中执行 do 时遇到问题。有人可以帮忙吗? 现在,在比较 col.1 和
我举了一个我正在处理的问题的简短示例。 HTML代码: 1 2 3 CSS 代码: .BB a:hover{ color: #000; } .BB > li:after {
我是一名优秀的程序员,十分优秀!