美文网首页
正则表达式

正则表达式

作者: 阿亮2019 | 来源:发表于2018-05-30 11:14 被阅读11次

https://www.jianshu.com/p/d771828f8fd4 写的很赞~

\d{6} \s+ 不要忘了前面的斜杠,老是忘!!!!!

正则表达式用来匹配字符串
^ 表示字符串的开始
$ 表示字符串的结束
[] 表示可以是其中一个 例如: [a-zA-Z]表示大写小写字母中的一个,但是不能没有
+ 表示至少一个
* 0个或多个

\d 只能匹配 一个 数字 // 注意前面一个\不能少
\d{n} 匹配 n个 数字
\d{n, m} 匹配 n到m个 数字,其中n < m。比如 /\d{3,5}/.test('1234567')为true;
\w 匹配 一个 字母或数字
\w{n} 匹配 n个 字母或数字
\w{n, m} 匹配 n到m个 字母或数字,其中n < m。
\s 表示一个空格
\s+ 表示至少一个空格
| 表示或关系 比如实现trim操作: string.replace(/^\s+|\s+$/g, '')
. 表示可以匹配任意 一个字符,但不能没有,

reg = /^zs.$/;
reg.test('zs'); false
reg.test('zsl'); true

* 表示0次或多次
匹配前一个表达式0次或多次。等价于 {0,}。
例如,/bo*/会匹配 "A ghost boooooed" 中的 'booooo' 和 "A bird warbled" 中的 'b',但是在 "A goat grunted" 中将不会匹配任何东西。

邮箱正则:

// test case
// shengliang.zheng@owitho.com
// 1004721118@qq.vip.com
// zhengshl2012@153.com
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$;

工作中

// 黄大佬做法
const buyLinkReg = new RegExp(`^https?:\/\/${API_ORIGIN_NO_PROTOCOL}\/openrack\/(\\w{8}(-\\w{4}){3}-\\w{12}?)\/buy$`, '');
            
if (buyLinkReg.test(value)) {
    this.setState({
       [name]: value.trim().replace(buyLinkReg, '$1')
    } );
}

// 我的做法
export function BuyLinkUUIDReg(buyLink: string): string {
    const reg = /\w{8}(-\w{4}){3}-\w{12}/;
    const res = buyLink.match(reg);
    if (res && res[0]) {
        return res[0];
    } else {
        return '';
    }
}

test和exec的区别

image.png
exec成功返回一个数组,数组key为0的value值则是匹配的值,index值为下标;失败返回null,
const str = 'fdfjlsd-4-dj-5-fglds-3-fj';
const reg = /\d/;

const res = reg.exec(str);
console.log(str); // fdfjlsd-4-dj-5-fglds-3-fj
console.log(res); // []

const res2 = reg.exec(str);
console.log(str);  // fdfjlsd-4-dj-5-fglds-3-fj
console.log(res2); [] 跟上面的值
// replace用法1  句子中替换词语
var p = 'lazy dog, was it really lazy?';
var regex = /dog/gi;
console.log(p.replace(regex, 'ferret')); // "lazy ferret, was it really lazy?"
console.log(p); //  'lazy dog, was it really lazy?'; 不变

// replace用法2  更换日期
const date = '09/22/2018';
const reg = /(\d{2})\/(\d{2})\/(\d{4})/;
console.log(reg.test(date));

console.log(date.replace(reg, '$3-$1-$2'));

廖雪峰 正则表达式

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

      本文链接:https://www.haomeiwen.com/subject/rljtsftx.html