正则表达式基础

简介: 正则表达式基础

// 根据正则 \W 查找[a-z][A-Z][0-9] 以外


let str = 'asgdas-awja.ugsdiuaf'
 let reg = new RegExp(/\W/)
 document.write(str.split(reg))

// 根据正则查找符合条件的字符串

// * = {0,}

// + = {1,}

// ? = {0, 1}


let str = 'cccainiao'
 let reg = /c{2,3}?/
 let result = reg.exec(str)
 document.write(result)

// 正则匹配开头结尾  ^(开头)  $(结尾)


let str = '1abc2'
  let reg = /^1/
  let reg2 = /2$/
  let result = reg.exec(str)
  let result2 = reg2.exec(str)
  document.write(result, '<br />')
  console.log(result)
  document.write(result2)
  console.log(result2)

// 匹配除了 /n 换行符以外的所有字符  /./,  如果需要查询全部字符,需在后面加+


let str = 'cainiao';
let reg = /.+/;
let result = reg.exec(str);
document.write(result);

// 正则表达式中的或  |


let str = 'ab7cdefg';
// 匹配开头为*后面,除了/n换行符以外的全部字符 (.+)
let reg = /^a.+/;
let result = reg.exec(str);
document.write(result);

// 开头必须是字母, 后面可以是字母或者下划线


let str = 'as15ce1cf51ev';
let reg = /^[a-zA-Z][a-zA-Z0-9_]+/;
let result = reg.exec(str);
document.write(result);

// [^*] 表示非


let str = '1abcdef';
let reg = /^[^abc].+/;
let result = reg.exec(str);
document.write(result);

// \b 边界 \B 非边界


let str = '1abcdef';
let reg = /\b1.+/;
// let str = 'cac'
// let reg = /\Da.+/
let result = reg.exec(str);
document.write(result);

// \d 数字 \D 非数字


let str = 'ghd1'
let reg = /\d/;
// let str = '2abcdef';
// let reg = /\D.+/
let result = reg.exec(str);
document.write(result);

// \f匹配换页符,\n匹配换行符,\r匹配回车,\t匹配制表符,\v匹配垂直制表符

// \s 匹配单个空格,等同于[\f\n\r\t\v]

// \S 表示非空格字符

// \w 代表单词字符,等同于[a-zA-Z0-9_]

// \W 表示非单词字符,等同于[^a-zA-Z0-9_]

// /pattern/g  全局匹配

// /pattern/i  不区分大小写

// /pattern/m  作用: 修改^ 和 $ 的作用, 让它们分别表示行首和行尾


// 正则反向引用 \w 返回a, 此时的\1是反向引用,它表示的是第一个括号内的字正则表达式匹配的内容,第一个括号里面的(\w)匹配了a,因此\1就同样表示a了,在余下的字符串里自然找不到a了


let str = 'abc';
 let reg = /(\w)\1/;
 let result = reg.exec(str);
 document.write(result);

// 不记录子正则表达式的匹配结果 /?:pattern/ 忽略  

---使用反向引用\1返回null, ?:不记录匹配内容---


let reg = /^(?:b|c).+/;
let str='bbs.blueidea.com';
let result = reg.exec(str);
document.write(result);

// 正向预查 例子: cainiao1, cainiao2, /cainiao(?=2)/,就可查询到cainiao2


let str = 'cainiao2';
let reg = /cainiao(?=2)/;  // ?=并不参与真正的匹配,只是检查一下后面的字符是否符合规则
let result = reg.exec(str);
document.write(result);

// 正向预查取反 /?!pattern/, 正好和 ?= 相反, 要求字符串后面不能为某个pattern

// 字符正确返回 null, 字符不符合要求返回 idea


let str = 'ideastr';
let reg = /idea(?!str)/;
let result = reg.exec(str);
document.write(result);

// 判断字符串是否全是数字可以用 /^\d*\d$/, 也可以用 /^\d[0-9]*%/表示

相关文章
学习正则表达式
学习正则表达式
53 0
|
自然语言处理 Rust 算法
【算法】10. 正则表达式匹配(多语言实现)
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符 * 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。
|
程序员 Go Python
正则表达式基础
正则表达式基础
63 0
正则表达式实战总结
正则表达式实战总结
64 0
|
算法 C语言 数据安全/隐私保护
【C++技能树】快速文本匹配 --正则表达式介绍与C++正则表达式使用
假设要判断一个QQ号是否有效,他必须满足以下三个规则
133 0
正则表达式 获取功能
使用正则表达式获取符合规则的子串
|
Linux Python
30 分钟轻松搞定正则表达式基础
![](https://ceshiren.com/uploads/default/original/3X/3/d/3dd370fe849dfbae00034a32587f4431165fb220.jpeg) 提起正则表达式,可能大家的第一印象是:既强大好用但也晦涩难懂。正则表达式在文本处理中相当重要,各大编程语言中均有支持(跟 Linux 三剑客结合更是神兵利器)。 正则表达式是对字符串操作的一
正则表达式 - 基础篇
正则表达式 - 基础篇
280 0
正则表达式 - 基础篇
|
算法 Shell Linux
正则表达式基础 | 学习笔记
快速学习正则表达式基础。
186 0

热门文章

最新文章