【发布时间】:2013-03-28 11:13:31
【问题描述】:
所以在我的正则表达式中,我有一个组,其内容是带有破折号的数字:
00-111-222-333-44
如何使用带有破折号字符的正向前瞻来仅选择该组中的数字,目标是当我稍后反向引用该组时,我希望在我的输出中这样做:
0011122233344
类似这样,但对于整个字符串,现在表达式只匹配破折号前的第一个数字,即 00:
[0-9]+(?=-)
有没有更简单的方法来选择该组内的所有数字,忽略破折号,这样我就可以反向引用该组并获得没有破折号的干净数字?
【问题讨论】:
-
为什么是正则表达式?难道你不能用空字符串替换所有连字符来得到你想要的吗?
-
好吧,这个数字是包含很多字段和字符的长复杂行的一部分,我在我的正则表达式中使用组来选择特定字段,然后以正确的顺序反向引用它们,我想可以只选择单个正则表达式组内的数字。
-
好的,请问您需要什么语言的?
-
POSIX 扩展正则表达式,PCRE... 我目前正在使用 sed 和 regex101.com 测试我的正则表达式
标签: regex lookahead backreference