JavaScript正则表达式定义字符集
16lz
2021-01-22
[a-e] 表示a到e这些字符中的某一个字符
[aeiou] 表示aeiou这5个字符其中的某一个字符
[a-zA-Z] 表示大写、小写字母中的某一个字符
[a-zA-Z0-9_-] 或小写、或大学、或数字或下划线横杠某一个字符
[0-9] 表示0到9之间任意一个数字
<script type="text/javascript">
//创建一个正则模式
//[0-9]匹配
var reg = /[0-9]/
var str = "2017-8-12";
//结果:["2", index: 0, input: "2017-8-12"]
var reg = /[5-7]/
var str = "1997";
//结果:["7", index: 3, input: "1997"]
var reg = /[a-e]/;
var str = "hello";
//结果:["e", index: 1, input: "hello"]
var reg = /[A-G]/;
var str = "World";
//结果:null
var reg = /[ptrdx]/;
var str = "computer";
//结果:["p", index: 3, input: "computer"]
var reg = /[a-zA-Z0-9_-]/;
var str = "@##$%^&*(_#@FJD";
//结果:["_", index: 9, input: "@##$%^&*(_#@FJD"]
//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
</script>
1、特别字符组成
$ : 匹配输入字符串的结尾位置。
^ : 表示字符串的开始位置
( ): 标记一个子表达式的开始和结束位置。
* : 其前面那个单元出现0次或以上(任意次数)
. : 匹配除换行符 \n之外的任何单字符
+ : 其前面那个单元出现1次或以上
? : 其前面那个单元出现0次或1次
\ : 这个符号是用来转义的
| : 指明两项之间的一个选择
+ ? * 功能:
<script type="text/javascript">
var reg = /[0-9]+/;
var str = "2017-8-12";
//结果:["2017", index: 0, input: "2017-8-12"]
var reg = /go*gle/;
var str = "goooooogle";
//结果:["goooooogle", index: 0, input: "goooooogle"]
var reg = /[0-9]*/;
var str = "today is 222";
//结果:["", index: 0, input: "today is 222"]
var str = "222 today is";
//结果:["222", index: 0, input: "222 today is"]
var reg = /wo?rld/;
var str = "woorld";
//结果:null
var str = "wrld";
//结果:["wrld", index: 0, input: "wrld"]
//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
</script>
. | \ 功能:
<script type="text/javascript">
var reg = /.*/;
var str = "dasda^%&%*lklJDS";
//结果:["dasda^%&%*lklJDS", index: 0, input: "dasda^%&%*lklJDS"]
var reg = /milk|fish/;
var str = "cat like eat fish";
//结果:["fish", index: 13, input: "cat like eat fish"]
var str = "cat like eat milk and fish";
//结果:["milk", index: 13, input: "cat like eat milk and fish"]
var reg = /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/;
var str = "123.206.94.112";
//结果:["123.206.94.112", index: 0, input: "123.206.94.112"]
var str = "123.206.94";
//结果:null
//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
</script>
^ $ 功能:
<script type="text/javascript">
var reg = /^banana/; //出现在目标开头
var str = "monkey like banana";
//结果:null
var str = "banana like monkey";
//结果:["banana", index: 0, input: "banana like monkey"]
var reg = /banana$/; //出现在目标结尾
var str = "monkey like banana";
//结果:["banana", index: 12, input: "monkey like banana"]
var str = "banana like monkey";
//结果:null
var reg = /13[0-9]{9}/; //{9}严格出现九次
var str = "13837264738";
//结果:["13837264738", index: 0, input: "13837264738"]
var str = "13837264738heihei";
//结果:["13837264738", index: 0, input: "13837264738heihei"]
var reg = /^13[0-9]{9}$/; //{9}严格出现九次
var str = "13837264738";
//结果:["13837264738", index: 0, input: "13837264738"]
var str = "ddd13837264738heihei";
//结果:null
//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
</script>
() 功能:
<script type="text/javascript">
var reg = /(go)+gle/;
var str = "gogogogogle";
//结果:["gogogogogle", "go", index: 0, input: "gogogogogle"]
var str = "gooooogle";
//结果:null
var reg = /<span>(.*)<\/span>/; //()称为模式单元
var str = "<div><span>杨勇</span><a>yangyong@163.com</a></div>";
//结果:(2) ["<span>杨勇</span>", "杨勇", index: 5, input: "<div><span>杨勇</span><a>yangyong@163.com</a></div>"]
//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
console.log(rst[1]);
</script>
2、模式修正符
var 模式名称 = /模式内容/模式修正符
<script type="text/javascript">
var reg = /[a-z]/;
var str = "helloBEIJING";
//结果:["h", index: 0, input: "hello BEIJING"]
var reg = /[a-z]+/;
var str = "helloBEIJING";
//结果:["hello", index: 0, input: "hello BEIJING"]
var reg = /[a-z]+/i; //i忽略大小写
var str = "helloBEIJING";
//结果:["helloBEIJING", index: 0, input: "helloBEIJING"]
var reg = /[0-9]+/;
var str = "2015-03-23 17:30:20";
//结果:["2015", index: 0, input: "2015-03-23 17:30:20"]
var reg = /[0-9]+/g;
var str = "2015-03-23 17:30:20";
//结果:(6) ["2015", "03", "23", "17", "30", "20"]
var reg = /[a-z]+[0-9]+/;
var str = "XiangGang1997Aomen1999";
//结果:["ang1997", index: 6, input: "XiangGang1997Aomen1999"]
var reg = /[a-z]+[0-9]+/ig;
var str = "XiangGang1997Aomen1999";
//结果:(2) ["XiangGang1997", "Aomen1999"]
//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
console.log(rst[1]);
</script>
3、模式单元重复匹配
<script type="text/javascript">
var reg = /([0-9]+-([0-9]+-[0-9]+)) ((([0-9]+):[0-9]+):[0-9]+)/;
var str = "2017-08-12 15:48:30";
//结果:(6) ["2017-08-12 15:48:30", "2017-08-12", "08-12", "15:48:30", "15:48", "15", index: 0, input: "2017-08-12 15:48:30"]
//字符串.match(正则)
var rst = str.match(reg);
console.log(rst);
//console.log(rst[1]);
</script>
更多相关文章
- javascript 截取字符串方法汇总
- JavaScript String(字符串对象)
- JS将字符串转换为数组
- 在变量名是字符串时声明变量?
- 可编辑div中的文本计数和子字符串
- 使用append方法将对象转换为字符串
- $.each遍历JSON字符串和 Uncaught TypeError: Cannot use 'in' o
- python正则表达式
- Python 正则表达式(5)电话号匹配