各类语言的常用正则表达式
到底什么是正则表达式?
在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
常用元字符
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\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))
正则表达式的用处有很多,在这里由于篇幅限制,只是简单的介绍一下常用的一些不同语言下的用法,希望能够帮助到各位!
各类语言的常用正则表达式相关推荐
- Python语言学习:Python语言学习之正则表达式常用函数之re.search方法【输出仅一个匹配结果(内容+位置)】、re.findall方法【输出所有匹配结果(内容)】案例集合之详细攻略
Python语言学习:Python语言学习之正则表达式常用函数之re.search方法[输出仅一个匹配结果(内容+位置)].re.findall方法[输出所有匹配结果(内容)]案例集合之详细攻略 导读 ...
- C语言中嵌入正则表达式
标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库 ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结
这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法.它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~ 当然如果会Selenium基于自动化测试爬 ...
- 常用正则表达式,常用表单验证javascript代码
常用正则表达式,常用表单验证javascript代码 function f_MobilCheck(as_SourceString) { if(as_SourceString.match(/^13[0 ...
- 常用正则表达式,常用表单验证javascript代码(转)
function f_MobilCheck(as_SourceString) { if(as_SourceString.match(/^13[0-9]{9}$/g)) return true; / ...
- 正则表达式(Regular Expression)——入门笔记(常用正则表达式符号、正则表达式在线调试工具)
1.正则表达式到底是什么东西? 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)是用于描述字符串规则的工具.换句话说,正则表达式就是记录文本规则 ...
- R语言中的正则表达式
这篇博客是对R语言中的正则表达式进行的整理,以实际应用为主,主要用于学习备忘,后续会根据需要进行补充.常用函数部分仅给出部分示例,详细使用方式可以使用R的帮助函数查询. 1.语法规则 常用符号及含 ...
- 正则表达式30分钟入门教程、常用正则表达式
From:http://deerchao.net/tutorials/regex/regex.htm 正则表达式语言 - 快速参考:https://docs.microsoft.com/en-us/d ...
- 常用正则表达式合集与工具
any-rule 维护了一个常用正则表达式合集,并且本身是一个支持 Web/VS Code/idea/Alfred Workflow 多平台的正则表达式工具. image 安装 VS Code 应用商 ...
最新文章
- UTL_FILE包用法小记
- 设置Proxy Server和SQL Server实现数据库安全
- Python循环的一些基本练习
- es6 Generator函数的应用
- PhoneGap学习笔记(一) 框架搭建
- 【译】组织好你的Asp.Net MVC解决方案
- VSCode代码格式化自动换行问题
- jQuery:基础知识学习
- 只有绩效,才是检验创新的唯一标准
- android mmkv使用_腾讯开源存储框架MMKV
- Android开发自定义水印图片
- 【如何解决 Web 越来越繁杂的问题】笔记
- 没有 本地计算机策略组,本地组策略编辑器没有mmc
- 磁珠和电感有什么区别_电感和磁珠的作用
- [机缘参悟-52]:交浅言深要因人而异
- Docker 从入门到精通
- jQuery插件jquery.fullPage.js
- jason前端面试题
- 2019小明的比赛c++
- 线元法输入曲线要素_天正CAD怎样沿曲线走向来标注文字?看完涨知识了