正则表达式错误,匹配数字

时间:2013-04-19 08:39:50

标签: regex match

我有一个字符串00000001001300000708303939313833313932E2

所以,我希望匹配708 & E2 ..

之间的所有内容

所以我写道:

(?<=708)(.*\n?)(?=E2) - 在RegExr中测试过(它正在运行)

现在,从结果303939313833313932匹配得到结果 (每隔一个数字):

099183192

怎么样?

3 个答案:

答案 0 :(得分:0)

要匹配708E2之间的所有内容,请使用:

708(\d+)

如果您确定只有数字。否则请尝试:

708(.*?)E2

要匹配303939313833313932中的每一位数字,请使用:

(?:\d(\d))+

答案 1 :(得分:0)

使用全局替换:

find: \d(\d)
replace: $1

答案 2 :(得分:0)

你期待正则表达式回答吗?

使用您正在使用的任何编程语言中的字符串操作,最好还是这样做。如果您有text = "abcdefghi...",请在循环中执行output = text[0] + text[2] + text[4]...,直到您的字符用完为止。

您尚未指定编程语言,但在Python中我会执行以下操作:

>>> text = "abcdefghjiklmnop"
>>> for n, char in enumerate(text):
...   if n % 2 == 0: #every second char
...     print char
... 
a
c
e
g
j
k
m
o