PostgreSQL 正则表达式替换-使用变量

不定期更新

把AAAA替换为A-A-A-A-
javascript

alert('AAAA'.replace(/([A]{1})/g,"$1-"));

()中的内容用变量 1 2 $n代替

PostgreSQL

select  regexp_replace('AAAAAAAAAAAAAAAAAAAAAA','([A-Z]{1})','\1-','g')

()中的内容用变量\1 \2 \n代替
获取大括号中的内容

select f1[1] from regexp_matches('asdfadfadsf{_id}','[\{]{1}(.*?)[\}]{1}') as f1

字符串去重

--  \1表示只匹配第一个子串 
select regexp_replace('adsfjjbkk中中','(.)(\1)+','\1','g')

select regexp_replace('adaaasfjjjbkk','(.).*(\1)+','\1','g')

去除字符串最后两位

select substring('abc123d4' from '^(.*?)..$');
-output abc123

擦除所有空格

select * from regexp_matches(' abc123d 4测试 ','[^ ]+','g');
select * from regexp_matches(' abc123d4测试 ','[^ ]+','g');
-output abc123

擦除左右两边的空格

select regexp_replace(' abc123d4 测试 ','^[ ]?(.*?)[ ]?$','\1','g');

从html中提取字符串

select f1 from regexp_split_to_table('<div id="u1"><a href="http://news.baidu.com" name="tj_trnews" class="mnav">新闻</a><a href="https://www.hao123.com" name="tj_trhao123" class="mnav">hao123</a><a href="http://map.baidu.com" name="tj_trmap" class="mnav">地图</a><a href="http://v.baidu.com" name="tj_trvideo" class="mnav">视频</a><a href="http://tieba.baidu.com" name="tj_trtieba" class="mnav">贴吧</a><a href="http://xueshu.baidu.com" name="tj_trxueshu" class="mnav">学术</a><a href="https://passport.baidu.com/v2/?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2F&amp;sms=5" name="tj_login" class="lb" onclick="return false;">登录</a><a href="http://www.baidu.com/gaoji/preferences.html" name="tj_settingicon" class="pf">设置</a><a href="http://www.baidu.com/more/" name="tj_briicon" class="bri" style="display: block;">更多产品</a></div>','<[^>]*>') as f1 where f1<>''

取开头4个字符和最后4个字符

with cte as(
    select '实际月份少一个月a1.' as f limit 1
) select (regexp_matches(f,'^(.{4})'))[1] as start,(regexp_matches(f,'(.{4})$'))[1] as end from cte

猜你喜欢

转载自blog.csdn.net/kmblack1/article/details/79064420
今日推荐