【发布时间】:2014-07-28 15:22:13
【问题描述】:
我正在尝试使用以下字符串...
v VARCHAR2(100) := '<LABEL> FOR ABC';
然后把它变成……
'LABEL FOR ABC'
这似乎很容易,但我无法在一个正则表达式语句中完成。 <...> 块将始终启动字符串。
例如,我的最佳尝试....
v := REGEXP_SUBSTR(v, '[^\<][A-Z]+[^\>][A-Z ]+')
产生“标签”。
我确实设法通过执行以下操作来完成这项工作......
v := REGEXP_REPLACE(v, '^\<');
v := REGEXP_REPLACE(v, '\>', 1, 1);
但我想知道这是否可以在单个正则表达式语句中完成。
谢谢
编辑:我忘了提,我只想删除前导<...>。如果字符串类似于
<LABEL> FOR ABC <LEAVE ME>
我希望它是......
LABEL FOR ABC <LEAVE ME>
【问题讨论】:
-
只需将
<或>替换为空字符串。你的正则表达式是[><] -
对于像 "LAB>
" 或 ">> >>" 之类的字符串或其他带有非匹配大括号?