【发布时间】:2015-11-15 14:07:07
【问题描述】:
我有以下文字:
DiretorioXmlImpressao=C:\\Program Files (x86)\\TESTE\\XmlImpressao\\08187168000160\\
我想选择除CNPJ(文本末尾的14个字符的句子)之外的所有内容,因此我尝试了以下正则表达式:
DiretorioXmlImpressao=[^0-9]+
返回:
DiretorioXmlImpressao=C:\\Program Files (x
但我期待:08187168000160
对不起各位,我有一些正则表达式的经验,我只是表达得不太好。
我实际上想要这样做返回:
DiretorioXmlImpressao=C:\\Program Files (x)\\TESTE\\XmlImpressao\\
因为我只想要 14 个字符和 \,因为我可以在此替换中使用。除非路径中有数字,例如“x86”,否则这是有效的。
regexp_replace(teste,'DiretorioXmlImpressao=[^0-9]+',E'DiretorioXmlImpressao=P:\\TESTE\\XmlImpressao\\','ig');
我的正则表达式和替换的最终预期结果如下
DiretorioXmlImpressao=P:\\TESTE\\XmlImpressao\\08187168000160\\
谢谢!
【问题讨论】:
-
你试过
/DiretorioXmlImpressao=.*?([0-9]+)\\$/ -
您是在告诉您的正则表达式获取不是数字 0-9 的所有内容。它正在做你告诉它做的事情......
-
如果你只需要开始部分also try like this.