ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 请教一个正则表达式的问题

请教一个正则表达式的问题

原创 Linux操作系统 作者:e_soft 时间:2009-04-11 19:08:40 0 删除 编辑

在一个表中存在类似如下数据:

F01上海线淮海路支线
F02南京路线
F03四平路
邯郸路线
外滩

要求按如下规则转换:
字母和数字单独一组,每个“线”字作为一个分组标识,没有“线”字和字母的则单独作为一个分组,并在结果中去掉“线”字。转换结果应如下显示:
[F01][上海][淮海路支]
[F02][南京路]
[F03][四平路]
[邯郸路]
[外滩]

create table test(name varchar2(20));

insert into test values('F01上海线淮海路支线');
insert into test values('F02南京路线');
insert into test values('F03四平路');
insert into test values('邯郸路线');
insert into test values('外滩');

select regexp_replace(name,'([A-Z0-9]+|[^A-Z0-9线]+)线*','[\1]') name
  from   test;

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21220558/viewspace-588687/,如需转载,请注明出处,否则将追究法律责任。

下一篇: REGEXP_REPLACE
请登录后发表评论 登录
全部评论

注册时间:2009-03-26

  • 博文量
    28
  • 访问量
    23797