Regular Expression(正则表达式)
----------------------------------------------------------------
在GREL函数(replace/find/match)中使用正则表达式时,需要用//将正则表达式引起来。
正则表达式能够定义一个文本样式,而不需要指定一系列精确的文本集。
通过建立一些字符集来表示需要查找的内容,与数量符,锚符,可选符和组符配合使用就可以满足你的查找需求。
----------------------------------------------------------------
#字符集# ————表示被匹配的字符是什么
正则表达式使用字符集(字母,数字,空格等)来查找字符
. : 代表除换行符以外的任意字符
\d: 代表任何数字,每次都写[0-9]可能比较麻烦,可以用\d来表示任意数字
\D: 代表非数字,可以是字母或者其他字符,等价于[^0-9]
\w: 代表一个任何字母、数字或下划线的字符,注意其不包括空格
\W: 代表一个不是字母、数字或下划线的字符
\s: 代表一个空白符,包括空格、Tab健和换行符
\S: 代表不是空白符的任意字符
\n: 代表换行符--1: a.a.a ---> 匹配到至少连续出现三次字母a,并且两个a 之间有一个任意字符,例如: dulcamara/alabaster/salamander--2: 19\d\d ---> 匹配到所有20世纪的年份--3: 19.. ---> 匹配到所有19开头的四位字符,除了所有20世纪的年份外,还包括19th/19M$等
\: 转义符,表示特殊含义的字符,例如: 真实的.可以表示为\.,反斜杠\可以表示为\\,[可以表示为\[,]可以表示为\]--1:[\[\]] ---> 匹配文本包含左方括号[或者右方括号]的字符串--2: \[2\] ---> 匹配真实的2,且前后分别有一个左方括号和右方括号,例如: [2]--3: \? ---> 匹配真实的?--4: \( ---> 匹配真实的(--5:  \) ---> 匹配真实的)--6: \* ---> 匹配真实的*--7: \$ ---> 匹配真实的$--8: \| ---> 匹配真实的|--9: "|Stones||Bones|||Buildings".replace(/^\|/, "") ---> Stones||Bones|||Buildings,即删除最开始的管道符|-10: "|Stones||Bones|||Buildings".replace(/\|+/, "|") ---> |Stones|Bones|Buildings,即将连续出现的多个管道符|改为一个-11: "|Stones||Bones|||Buildings".split("|").uniques().join("|") ---> Stones|Bones|Buildings,先分割再去重最后再组合
[]: 方括号[ ]用来指定一系列的待选单个字符集。在方括号内使用 - 来指定字符域的范围。--1: [0123456789] ---> 匹配其中任何一个数字--2: [0-9] ---> 匹配其中任何一个数字--3: [a-z] ---> 匹配所有小写字母--4: [A-Z] ---> 匹配所有大写字母--5: [0-9a-zA-Z] ---> 匹配所有字母和数字--6: analy[sz]e ---> 匹配美式拼写(analyze)和英式拼写(analyse)--7: [0-9][a-z] ---> 表示一个数字后面跟至少一个小写字母--8: [a-z][0-9][0-9][0-9] ---> 表示一个字母后面跟至少三个数字--9: [0-9] [a-z] ---> 表示一个数字和一个字母中间存在一个空格,例如: 1 cm/25 in/12345 meters都符合要求-10: [^xyz] ---> 方括号中[]的^表示取反,表示匹配除了[]中的字符-11: [^a-zA-Z0-9] ---> 代表不是字母且不是数字,例如: 标点符号/连续空格,但是不包括空值null,因为null不是字符-12: [^a-zA-Z0-9]\d[^a-zA-Z0-9] ---> 代表任何一个数字,且其前后都有一个字符,这个字符不是字母及数字,例如: (3)#数量符# ————表示被匹配字符的数量
?: 前面的字符重复0次或1次
*: 前面的字符重复0次及以上
+: 前面的字符重复1次及以上
{n}: 前面的字符重复n次
{n,}: 前面的字符重复n次及以上
{,n}: 前面的字符重复n次及以下
{n,m}: 前面的字符重复n次-m次--1: N\d{5}, ---> 将匹配字母N 开头,后面跟5 位数字,然后是一个逗号#锚符# ————不是表达有什么字符被匹配,而是要确定字符串的哪个位置被匹配
^: 代表整体字符串的开始位置
$: 代表整体字符串的结束位置
\b: 代表单词的开始位置或结束位置,单词分隔符包括空格、标点符号和换行符--1: ^\d ---> 匹配开始为一个数字--2: \d$ ---> 匹配结束为一个数字--3: ^\d.*\d$ ---> 匹配开始为一个数字,0 个或更多的任意字符(表达式中的点),结尾为一个数字--4: ^\d+$ ---> 匹配任意长度的数字--5: \b\d{3}\b ---> 匹配三位的数字#可选符# ————除了前面的方括号[]中的字符表示可选外,有的时候待选的内容不止一个字符
|: 代表或的意思--1: glass|wood|steel ---> 匹配glass或者wood或者steel--2: \d+|many|few ---> 匹配任意数字或者many或者few--3: N\d{5},|N\d{8}, ---> 匹配以N 开头以“,”结尾,中间要么是五位数要么是八位数,其他的都不匹配#组符# ————如果对一组字符应用数量符,就需要把他们用圆括号( )括起来
(): 代表对括起来的正则表达式表示的字符是一组且具有高优先级,可以用美元符号$跟一个数字来定义组--1: (la)+ ---> 匹配la,lala,lalala等,而la+则匹配la, laa, laaa等--2: analy(z|s)e ---> 匹配analyze 或者 analyse,等同于analy[zs]e--3: analyz(e|ing) ---> 匹配包含analyze 或 analyzing--4: "--23rd".replace(/(\d+)rd$/,"No. $1rd:") ---> --No. 23rd:,$1表示第1组,$0代表整个表达式的结果

OpenRefine中的正则表达式相关推荐

  1. note-在VisualStudio中使用正则表达式

    前言:本来昨天已经写了,但由于意外给搞丢失了,由于刚刚看了这篇文章知道了一些真相:现在的心理状态已经和昨天不一样了,昨天是满心的高兴,对VisualSduio很有好感,当时自认为是没有把正则学好,所以 ...

  2. ASP.NET 中的正则表达式

    引言 Microsoft®.NET Framework 对正则表达式的支持是一流的,甚至在 Microsoft® ASP.NET 中也有依赖正则表达式语言的控件.本文介绍了深入学习正则表达式的基础知识 ...

  3. 52 JavaScript中的正则表达式

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.什么是正则表达式 正则表达是(regular expression)是用于匹配字符串中 ...

  4. java中正则表达式 ?=_Java中的正则表达式

    正则表达式: 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串 ...

  5. vbs字符串正则_VBscript中的正则表达式

    在VBscript中,正则表达式对象就是RegExp对象.RegExp对象有3个属性:Pattern属性,设置或返回被搜索的正则表达式模式. Global属性,指明在整个搜索字符串时模式是全部匹配还是 ...

  6. linux命令行 正则,在Linux命令行中使用正则表达式

    上一节我们介绍过grep命令在搜索文本信息时的基本用法,其实,grep命令还可以配合正则表达式执行更加复杂的搜索操作. 本节我们将对如何在Linux命令行中使用正则表达式进行介绍. 所谓正则表达式,就 ...

  7. js中match、replace方法中使用正则表达式

    为什么80%的码农都做不了架构师?>>>    js中match.replace方法中使用正则表达式 (2012-06-29 14:23:37) 转载▼ 标签: 字符串 飞雪 正则表 ...

  8. Swift中使用正则表达式

    Swift中使用正则表达式 环境:swift3 xcode8 一.什么时候我们需要使用正则表达式 1.判断一些字符是否符合所需要求: 2.用于检索文本中所需字段. 二.正则表达式的语法 正则表达式的创 ...

  9. 自己对Delphi中使用正则表达式的研究心得

    在 Delphi 中使用正则表达式, 目前 PerlRegEx 应该是首选, 在此分享一下自己的一些心得体会. 官方网站: http://www.regular-expressions.info/de ...

  10. linux正则表达式的使用方法,Linux中基本正则表达式

    正则表达式 的 Linux中基本正则表达式 字符匹配: .  :匹配任意单个字符 [] :匹配指定范围内的任意单个字符: [^]:匹配制定范围外任意单个字符 [:digit:] lower upper ...

最新文章

  1. 多个旅游网站被挂马 五一假期外出旅游应小心
  2. 散列表的设计与实现_python基础之字典与集合实现
  3. 用python中django创建网页终端直接关闭是什么问题_如何用Python Django创建网站?系列文章03(持续更新...)...
  4. python斐波那契数列前20项_Python每日一练之实现斐波那契数列
  5. WPF Splash Screen 和启动速度相关资料
  6. MySQL启动异常Starting MySQL.The server quit without .
  7. Facebook WhatsApp开放「数据下载」;iPhone需求疲软引发恐慌;今日头条「更名」| CSDN 极客头条...
  8. 【有限差分法】(三)一维和二维抛物方程CN格式以及长时间稳定性分析(附算例与Python代码)
  9. idea中MySQL数据库分页
  10. 什么是443端口?HTTPS是什么端口?如何工作
  11. 表达式的LenB(123程序设计ABC)的值是27吗
  12. 七周成为数据分析师 | 统计学
  13. 【物联网】物联网开发从入门到精通
  14. Python 关于浮点数取整详解
  15. 什么是soft matting方法_NMS、 soft-nms、softer-nms
  16. android手机无USB法连接应用宝解决办法
  17. Markdown(编辑器)工具与使用总结Markdown语法图文全面详解
  18. 学习笔记(28):MATLAB基础入门课程-乘方运算
  19. Mob免费短信验证初探
  20. 拼多多2020秋招【提前批】笔试

热门文章

  1. 计算机ppt实训报告总结,计算机实训总结模板
  2. Shell编程之常用内置命令
  3. Java物流项目第一天 项目概述与基础数据服务开发
  4. 好好编程-物流项目20【客户管理-删除客户】
  5. win10系统字体 chrome 修改苹果字体
  6. MIUI10使用adb工具实现免ROOT冻结系统应用和去广告
  7. Android全局设置APP为黑白模式的两种方案
  8. SVN工具将本地代码导入SVN资源库
  9. cad中拖动文字时卡顿_cad移动图时卡顿 - 卡饭网
  10. flask中的csrf防御机制