正则表达式示例集合

目录:

1、精准匹配

单字符模式,如 a,不论出现在搜索字符串中的何处,它总是匹配字母 a,下面是一些单字符正则表达式模式的示例:

java 复制代码
/a/
/b/
/c/

正则表达式将精确匹配字符串 "abc",无论该字符串出现在文本中的哪个位置,只有当它与 "abc" 完全匹配时才会成功

java 复制代码
/abc/

2、字符匹配

通配符 :

点号 . 匹配任意单个字符,除了换行符 \n 和 \r。下面的正则表达式匹配 aac、abc、acc、adc 等等,以及 a1c、a2c、a-c 和 a#c:

java 复制代码
/a.c/

若要匹配包含文件名的字符串,而句点 . 是输入字符串的组成部分,请在正则表达式中的句点前面加反斜杠 \ 字符。举例来说明,下面的正则表达式匹配 filename.ext:

java 复制代码
/filename\.ext/

量词:*

匹配前面的元素零次或多次:

java 复制代码
/a*b/

这个表达式可以匹配 "b"、"ab"、"aab"、"aaab" 等字符串。

量词 +

匹配前面的元素一次或多次:

java 复制代码
/a+b/

这个表达式可以匹配 "ab"、"aab"、"aaab" 等字符串,但不匹配 "b"。

量词 ?

匹配前面的元素零次或一次:

java 复制代码
/colou?r/

这个表达式可以匹配 "color" 或 "colour"。

3、参考示例

3.1、一个合理的用户名正则表达式

java 复制代码
var str = "abc123-_def";
var patt = /[a-zA-Z0-9_-]+/;
document.write(str.match(patt));

3.2、匹配 HTML 标签及内容

以下正则表达式用于匹配 iframe 标签:

java 复制代码
/<iframe(([\s\S])*?)<\/iframe>/

其他标签的匹配可以替换 iframe 。

匹配 id="mydiv" 的 div 标签:

java 复制代码
/<div id="mydiv"(([\s\S])*?)<\/div>/

匹配所有 img 标签:

java 复制代码
/<img.*?src="(.*?)".*?\/?>/gi

3.3、其他示例


3.4、微信号正则表达式

java 复制代码
//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
var wxPattern = /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/;
//输出 true
document.write(wxPattern.test("runoob123"));

3.5、QQ号正则表达式

java 复制代码
//QQ号正则,5至11位
var qqPattern = /^[1-9][0-9]{4,10}$/;
//输出 true
document.write(qqPattern.test("65974040"));

3.6、车牌号号正则表达式

java 复制代码
//车牌号正则
var cPattern = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
//输出 true
document.write(cPattern.test("京K39006"));

3.7、邮箱正则表达式

java 复制代码
const validateEmail = (email) => {
  return email.match(
    /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  );
};

const validate = () => {
  const $result = $('#result');
  const email = $('#email').val();
  $result.text('');

  if (validateEmail(email)) {
    $result.text(email + ' 是一个正确的邮箱地址 :)');
    $result.css('color', 'green');
  } else {
    $result.text(email + ' 不是一个邮箱地址 :(');
    $result.css('color', 'red');
  }
  return false;
}

$('#email').on('input', validate);
相关推荐
yivifu1 天前
能够使用Python正则表达式函数的文本处理工具——Calibre电子书编辑器
正则表达式
全栈陈序员2 天前
【Python】基础语法入门(二十九)—— 正则表达式实战:文本处理利器
开发语言·人工智能·python·正则表达式
BruceXu8 天前
\b 在中文里会静默失效:三个正则坑和一份能用的字符边界方案
正则表达式
阿昭L9 天前
正则表达式
正则表达式·编译原理
波力海苔夹心脆6759 天前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
FRing0310 天前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
小白快快跑哦12 天前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
小白快快跑哦14 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
MoRanzhi120314 天前
106.正则问题(分治)
python·算法·正则表达式·蓝桥杯·递归·分治算法·字符串处理
临床数据科学和人工智能兴趣组16 天前
在R语言的生态系统中,字符串处理一直是一个重要且复杂的任务
开发语言·正则表达式·r语言·r语言-4.2.1