我如何在plsql中替换一个不知道当前位置或短语长度的文本,也不知道位置,因为它可以是动态的。
我已经能够达到的可能的解决方案如下,我在regex的在线平台上尝试过,它给了我预期的结果,但当我实现它时,我得到了意想不到的值。
我发现的模式是,大多数时候它要么以,
或;
或space
结尾,几乎总是以USO:
结尾,例如:FORMA DE PRESENTACIÓN Y EMPAQUE: XXX;
USO:
要提取或替换的单词:
- FORMA DE PRESENTACIÓN Y EMPAQUE:XXX;
- FORMA DE PRESENTACIÓN Y EMPAQUE:BOTELLA ALUMINIO POR:5KG、10KG、20KG、25KG、50KG、100gr、250gr、500gr、300gr - CAJAS POR:10 KG、15 KG、20 KG、25 KG、50LB、- TAMBOR POR:25 KG、50 KG、5KG、50 LB、180 KG、20KG、4KG - GARRAFA POR:10 KG、25 KG、20 KG、5KG、10 KG、1 KG,- SACOS POR:20 KG、25KG、50LB、10KG - FRASCOS POR:25gr、250gr、500gr、100gr、250gr、1KG、300gr、1000gr - TARROS POR:1000克、20克、25克、100克、2500克、250克、500克、50克、1千克。;
- FORMA DE PRESENTACIÓN Y EMPAQUE/ PRESENTACION COMMERCIAL:CAJAS DE 15KG // 20KG // 25KG // SACOS DE 22.68KG // FRASCOS DE 0.05KG// 0.025KG // 0.10KG // 0.25KG // 0.50KG // 0.30 KG // 1KG;
- FORMA DE PRESENTACIÓN Y EMPAQUE:XXX PENDT XXXX;
- FORMA DE PRESENTACIÓN Y EMPAQUE:* PENDIENTE *;
正文:
Lorem ipsum dolor sit amet,consectetur adipiscing elit.前庭被怀疑为不发罗音的扭曲,因动情而发。在他的著作中有这样的名言。我们的生命不能被怀疑,我们的生命不能被怀疑。埃尼亚人在埃及的时候,把自己的心放在心上。Nullam ac interdum libero.在FORMA DE PRESENTACIÓN Y EMPAQUE: XXX;
USO中:volutpat venenatis ullamcorper.在神圣的时间里,你会看到美丽的眼睛。在他的著作中有这样的名言。你没有力量,你的生命就没有力量。Mauris et molestie libero.
Regex:^.*?(FORMA\sDE\sPRESENTACI[OÓ]?N\sY\sEMPAQUE(?:(?:[\/\s]+)PRESENTACI[OÓ]N\sCOMERCIAL)?(?:[\:\s[A-Za-zÀ-ÿ,0-9;\.%*\t\-]+)[,;]\s)(?:[U]).*$
个
Demo
1条答案
按热度按时间mrzz3bfm1#
(?:)
,仅使用捕获组()
或不使用组[\/\s]
将匹配\
或/
或\
或s
的单个字符,这可能不是您想要的;您可能希望省略转义字符(因为它不转义任何内容),并使用POSIX字符集[:space:]
,如下所示[/[:space:]]
所以你的正则表达式应该是:
字符串
给定样本数据:
型
然后:
型
输出:
| MATCH |
| ------------ |
| XXX; XXX; |
fiddle