首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个虚线图案的Regex

这个虚线图案的Regex
EN

Stack Overflow用户
提问于 2014-01-07 03:36:01
回答 2查看 56关注 0票数 1

有谁会建议使用一个正则表达式来操作结束的行:

0,04-721-0克-00033非盟

并将该字符串转换为:

0 ,04,721,0G,00033,非盟

(将字符串中最后一个逗号后的所有破折号替换为逗号)

请记住,字符串前面的部分可能有破折号和逗号,因此我确定的是,我想要操作的行的部分是以行中的最后逗号开头的字符串,以EOL结尾,并且具有,XX-XXX-XXXXX-XX的结构。

有什么建议吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-07 03:46:26

匹配:,(?=[^,]*$)(\w{2})-(\w{3})-(\w{2})-(\w{5})-(\w{2})$

替换为:,$1,$2,$3,$4,$5

它的工作原理:

  • ,(?=[^,]*$)选择行的最后一个, (字面意思是:在行尾之前只跟着其他,, )。
  • 之后,我们尝试将您的XX-XXX-XX-XXXXX-XX(\w{2})-(\w{3})-(\w{2})-(\w{5})-(\w{2})匹配。
  • 通过匹配$确保行的末尾已经到达

然后你就重写:

  • the ,
  • 每个XX组由一个-分隔。
票数 3
EN

Stack Overflow用户

发布于 2014-01-07 03:45:27

这个模式(试验替换)会做你想做的事吗?

代码语言:javascript
复制
-(?=[^,]{1,15}$)

,替换

检查连字符,如果有1-15个字符从左到尾没有逗号使用向前看,如果是用逗号代替。

由于没有指定语言,用于多行替换,您可能希望为多行添加M-改性剂,为JS添加用于全局的G-改性剂 (用修饰符进行测试)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20963463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档