正则表达式

  • 1、初识
    • 1.1、纯数字提取
    • 1.2、带有小数点数字提取
  • 2、语法
  • 3、回首~掏
  • 4、参考Demo

1、初识

1.1、纯数字提取

-- "提取123abc提取":提取当前字符当中的123-- 1.Hive:
select regexp_replace('提取123abc提取','[^0-9]+','')    "123"
select regexp_replace('提取123abc提取','\D','')      "提取123abc提取"-- 2.PG: 'g':global,全局替换
select regexp_replace('提取123abc提取','[^0-9]+','','g' )   "123"
select regexp_replace('提取123abc提取','\D','','g' )        "123"

1.2、带有小数点数字提取

-- "提取123.11abc提取":提取当前字符当中的123.11-- 1.Hive:小数或者整数数据提取
select regexp_extract('提取123.11abc提取','[0-9]+([.]{1}[0-9]+){0,1}',0)    "123.11"
select regexp_extract('提取123abc提取','[0-9]+([.]{1}[0-9]+){0,1}',0)   "123"-- 2.PG:
select regexp_replace('提取123.11abc提取','[^\d.\d]','','g') "123.11"

2、语法

字符 说明 等效于
\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。
e.g:“n"匹配字符"n”。"\n"匹配换行符。序列"\\“匹配”","\(“匹配”("
^ 匹配输入字符串开始的位置
$ 匹配输入字符串结束的位置
* 零次或多次匹配前面的字符或子表达式 {0,}
+ 一次或多次匹配前面的字符或子表达式 {1,}
? 零次或一次匹配前面的字符或子表达式 {0,1}
{n} n是非负整数。正好匹配n次。
e.g:"o{2}"与"job"中的"o"不匹配,但与"food"中的两个"o"匹配
{n,} n是非负整数。至少匹配n次。
e.g:"o{2,}“不匹配"job"中的"o”,而匹配"fooooood"中的所有o
"o{1,}“等效于"o+”
"o{0,}“等效于"o*”
{n,m} m和n是非负整数,其中n<=m。匹配至少n次,至多m次。
e.g:"o{1,3}"匹配"fooooooood"中的头三个o
"o{0,1}“等效于"o?”
? 当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后,
匹配模式是“非贪心匹配”。“非贪心匹配”:匹配搜索到的尽可能短的字符串,
而默认的“贪心匹配”则是匹配搜索到尽可能长的字符串。
e.g:"oooo"中,"o+?“只能够匹配出单个"o”;而"o+“匹配出所有的"o”
. 匹配除"\r\n"之外的任何单个字符
[xyz] 字符集。匹配包含的任一字符。
e.g:"[abc]“匹配"plain"中的"a”
[^xyz] 反向字符集。匹配未包含的任何字符。
e.g:"[^abc]“匹配"plain"中"p”,“l”,“i”,“n”
[a-z] 字符范围。匹配指定范围内的任何字符。
e.g:"[a-z]"匹配"a"到"z"范围内的任何小写字母
[^a-z] 反向范围字符。匹配不在指定范围内的任何字符。
e.g:"[^a-z]"匹配任何不在"a"到"z"范围内的任何字符
\d 数字字符匹配。 [0-9]
\D 非数字字符匹配。 [^0-9]
\s 匹配任何空白字符,包括空格、制表符、换页符等
\S 匹配任何非空白字符
\w 匹配任何类字符,包括下划线 [A-Za-z0-9_]
\W 与任何非单词字符匹配 [^A-Za-z0-9_]

3、回首~掏

-- PG:regexp_match:匹配函数
select regexp_match('会议事业部69.57%/','[\d.\d]{1,}')   "{69.57}"
select regexp_match('会议事业部69%57%/','[\d%\d]{1,}')   "{69%57%}"
-- 子表达式中:[\d.\d]:这时候:'.' 不再是匹配除"\r\n"之外的任何单个字符
select regexp_match('会议事业部69%57%/','[\d.\d]{1,}')   "{69}"

4、参考Demo

-- PostgreSQL正则表达使用
https://blog.csdn.net/qq_22994783/article/details/82699559
-- Hive常用正则表达式
https://cloud.tencent.com/developer/article/1538552

正则表达式:提取数字和小数点相关推荐

  1. 教你用正则表达式提取数字和小数点

    1.初识 1.1.纯数字提取 1 2 3 4 5 6 7 8 9 -- "提取123abc提取":提取当前字符当中的123   -- 1.Hive: select regexp_r ...

  2. javascript 正则表达式提取数字使用

    javascript 正则表达式提取数字使用 知识点: JavaScript RegExp 对象 RegExp 对象 RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具. 直接量语法 ...

  3. js正则表达式校验数字和小数点的数字

    js正则表达式校验数字和小数点的数字 /** obj 校验的数据 name 前台字段的名字,用于判断后清空,可以不传 */ function checkFloat(obj,name){var re = ...

  4. C#正则表达式提取数字、小写字母

    一.数字 Regex.Replace(str, @"[^0-9]+", "") 二.小写字母 Regex.Replace(str, @"[^a-z]+ ...

  5. python正则表达式提取数字比较好_python正则表达式从字符串中提取数字的思路详解...

    python从字符串中提取数字 使用正则表达式,用法如下: ## 总结 ## ^ 匹配字符串的开始. ## $ 匹配字符串的结尾. ## \b 匹配一个单词的边界. ## \d 匹配任意数字. ## ...

  6. java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格

    @Test public void test() {String phoneString = "哈哈,13888889999";// 提取数字// 1Pattern pattern ...

  7. shell正则表达式提取数字

    grep 提取数字 grep -Po "\d+\.\d+" 转载于:https://www.cnblogs.com/xiaweifeng/p/11351003.html

  8. 正则表达式提取数字,汉字,英文

    /*提取中文.数字.英文/ @Test public void test (){     String str = "--^1dsf  の  adS   DFASFSADF阿德斯防守对方as ...

  9. python 正则表达式匹配数字或者小数点_用正则表达式匹配浮点数

    在这个例子中,我将向你展示如何避免不熟悉正则表达式的人常犯的一些错误.我们将尝试建立一个可以匹配浮点数的正则表达式.我们的正则表达式也应该匹配整数,以及整数部分(即0)没有给出来的浮点数. 乍看之下, ...

  10. python正则表达式提取数字

    \d+匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字:.?这个是匹配小数点的,可能有,也可能没有:\d*这个是匹配小数点之后的数字的,所以是0个或者多个: head ...

最新文章

  1. sql实现random sample_web验证码的简单实现
  2. HashFlare矿池退出BTC挖矿,Coingeek矿池继续增加BCH算力
  3. 硬盘突然提示没有初始化_分享一下固态硬盘不认盘的修复方法
  4. 200528更新arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1...
  5. go语言csv文件的读取与写入
  6. Git clone之后你的硬盘上究竟发生了什么?
  7. Matlab 生成vhdl,matlab - 使用HDL Workflow Advisor将Matlab代码转换为vhdl - 堆栈内存溢出...
  8. 嵌入式开发笔记(二)嵌入式系统启动过程 (S5pv210)
  9. Spring架构这么牛逼,这两大特性不得不说说!
  10. 匿名管道(4种情况 )
  11. 数据治理是开展数据分析的前提
  12. 概率语言模型及其变形系列-LDA及Gibbs Sampling
  13. Linux系统升级硬盘后HOME分区扩容操作流程
  14. PDF编辑器中文版怎么插入PDF空白页面
  15. BZOJ1001狼抓兔子(网络流最小割)
  16. HS0038红外接收模块遇到的问题
  17. Python小白的数学建模课-21.关键路径法
  18. 提前祝福你和你和家人国庆节快乐,旅途愉快!
  19. Ubuntu18.04基于ROS和PX4的仿真平台配置
  20. 无纸化会议-安全初步

热门文章

  1. Pytorch transform
  2. 访问计算机需要用户名密码,访问局域网电脑提示需要用户名和密码该怎么办
  3. 2015年国内数据安全事件盘点
  4. adb 隐藏/删除 app
  5. Java操作Oracle数据库——ARRAY TABLE类型批量数据处理区别比较
  6. android虚拟机获取root权限,Android虚拟机获取root权限
  7. php解析mht,php解析mht文件转换成html的实例详解
  8. mysql什么情况用引号_sql中什么时候需要用双引号,什么时候用单引号;
  9. MetaLife与ESTV建立战略合作伙伴关系并任命其首席执行官Eric Yoon为顾问
  10. 网络割接方案模板(范文)