到底什么是正则表达式?
在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

常用元字符

代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

常用限定符

代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
n 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

常用反义词

代码/语法 说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

中文字符

[\u4e00-\u9fa5]

JS

var pattern = /[\u4e00-\u9fa5]/,str = '';
console.log(pattern.test(str));

PHP

$str = '';
$isMatched = preg_match('/[\u4e00-\u9fa5]/', $str, $matches);
var_dump($isMatched, $matches);

go

package mainimport ("fmt""regexp"
)func main() {str := ""matched, err := regexp.MatchString("[\u4e00-\u9fa5]", str)fmt.Println(matched, err)
}

JAVA

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexMatches {public static void main(String args[]) {String str = "";String pattern = "[\u4e00-\u9fa5]";Pattern r = Pattern.compile(pattern);Matcher m = r.matcher(str);System.out.println(m.matches());}}

rb

pattern = /[\u4e00-\u9fa5]/
str = ''
p pattern.match(str)

py

import re
pattern = re.compile(ur'[\u4e00-\u9fa5]')
str = u''
print(pattern.search(str))

Email地址

\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}

java

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexMatches {public static void main(String args[]) {String str = "";String pattern = "\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}";Pattern r = Pattern.compile(pattern);Matcher m = r.matcher(str);System.out.println(m.matches());}}

py

import re
pattern = re.compile(ur'\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}')
str = u''
print(pattern.search(str))

手机(国内)

​​​​​​​0?(13|14|15|17|18)[0-9]{9}

JAVA

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexMatches {public static void main(String args[]) {String str = "";String pattern = "0?(13|14|15|17|18)[0-9]{9}";Pattern r = Pattern.compile(pattern);Matcher m = r.matcher(str);System.out.println(m.matches());}}

py

import re
pattern = re.compile(ur'0?(13|14|15|17|18)[0-9]{9}')
str = u''
print(pattern.search(str))

身份证号码

\d{17}[\d|x]|\d{15}

JAVA

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexMatches {public static void main(String args[]) {String str = "";String pattern = "\d{17}[\d|x]|\d{15}";Pattern r = Pattern.compile(pattern);Matcher m = r.matcher(str);System.out.println(m.matches());}}

py

import re
pattern = re.compile(ur'\d{17}[\d|x]|\d{15}')
str = u''
print(pattern.search(str))

正则表达式的用处有很多,在这里由于篇幅限制,只是简单的介绍一下常用的一些不同语言下的用法,希望能够帮助到各位!

各类语言的常用正则表达式相关推荐

  1. Python语言学习:Python语言学习之正则表达式常用函数之re.search方法【输出仅一个匹配结果(内容+位置)】、re.findall方法【输出所有匹配结果(内容)】案例集合之详细攻略

    Python语言学习:Python语言学习之正则表达式常用函数之re.search方法[输出仅一个匹配结果(内容+位置)].re.findall方法[输出所有匹配结果(内容)]案例集合之详细攻略 导读 ...

  2. C语言中嵌入正则表达式

    标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库 ...

  3. [python] 常用正则表达式爬取网页信息及分析HTML标签总结

    这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法.它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~ 当然如果会Selenium基于自动化测试爬 ...

  4. 常用正则表达式,常用表单验证javascript代码

    常用正则表达式,常用表单验证javascript代码 function f_MobilCheck(as_SourceString) {  if(as_SourceString.match(/^13[0 ...

  5. 常用正则表达式,常用表单验证javascript代码(转)

    function f_MobilCheck(as_SourceString) {  if(as_SourceString.match(/^13[0-9]{9}$/g)) return true;  / ...

  6. 正则表达式(Regular Expression)——入门笔记(常用正则表达式符号、正则表达式在线调试工具)

    1.正则表达式到底是什么东西? 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)是用于描述字符串规则的工具.换句话说,正则表达式就是记录文本规则 ...

  7. R语言中的正则表达式

      这篇博客是对R语言中的正则表达式进行的整理,以实际应用为主,主要用于学习备忘,后续会根据需要进行补充.常用函数部分仅给出部分示例,详细使用方式可以使用R的帮助函数查询. 1.语法规则 常用符号及含 ...

  8. 正则表达式30分钟入门教程、常用正则表达式

    From:http://deerchao.net/tutorials/regex/regex.htm 正则表达式语言 - 快速参考:https://docs.microsoft.com/en-us/d ...

  9. 常用正则表达式合集与工具

    any-rule 维护了一个常用正则表达式合集,并且本身是一个支持 Web/VS Code/idea/Alfred Workflow 多平台的正则表达式工具. image 安装 VS Code 应用商 ...

最新文章

  1. UTL_FILE包用法小记
  2. 设置Proxy Server和SQL Server实现数据库安全
  3. Python循环的一些基本练习
  4. es6 Generator函数的应用
  5. PhoneGap学习笔记(一) 框架搭建
  6. 【译】组织好你的Asp.Net MVC解决方案
  7. VSCode代码格式化自动换行问题
  8. jQuery:基础知识学习
  9. 只有绩效,才是检验创新的唯一标准
  10. android mmkv使用_腾讯开源存储框架MMKV
  11. Android开发自定义水印图片
  12. 【如何解决 Web 越来越繁杂的问题】笔记
  13. 没有 本地计算机策略组,本地组策略编辑器没有mmc
  14. 磁珠和电感有什么区别_电感和磁珠的作用
  15. [机缘参悟-52]:交浅言深要因人而异
  16. Docker 从入门到精通
  17. jQuery插件jquery.fullPage.js
  18. jason前端面试题
  19. 2019小明的比赛c++
  20. 线元法输入曲线要素_天正CAD怎样沿曲线走向来标注文字?看完涨知识了

热门文章

  1. SAP AC305固定资产培训书面总结-转
  2. 低代码指南100解决方案:38致商家:2021年双12销售订单管理攻略来了
  3. 什么是 Web Workers?
  4. Linux库分文件编程(面试)
  5. 【读书笔记】Legged Robots That Balance (1)
  6. Thymeleaf模板入门(三)
  7. 努比亚Z11刷miui10+Magisk+xp+谷歌相机+红外
  8. 4个利用社交媒体进行假日营销的品牌案例
  9. 高云软件的在线逻辑分析仪使用教程
  10. 组织架构改变时如何实现员工的人岗匹配