我正在尝试从REG / 123和空白之间的字符串REG / 123中提取数字。
我尝试了以下代码,尽管它们只占用行中的最后一个空格。
test=line[line.find("REG/")+len("REG/"):line.rfind(" ")]
test=re.search('REG/(.*)" "',line)
答案 0 :(得分:1)
我最终要做的是下面的代码及其工作,我用特定字符替换了空格,然后进行了正则表达式。
line = line.replace(" ", "#")
test=re.search(r'REG/(.*?)#', line).group(1)
print(test)
答案 1 :(得分:0)
对于'REG / 123'这样的模式,正则表达式将为r'^REG/\d+$'
test=re.search(r'^REG/\d+$',line)
获得所有匹配项后,您可以运行循环以用.split("/")[1]
分割字符串来仅提取数字
答案 2 :(得分:0)
line = 'I am trying to extract the number from this string REG/123 which is between REG/ and a white space.'
number = re.search(r'(?<=\bREG/)\d+', line).group(0)
print(number)
输出:
123
说明:
(?<= # positive lookbehind, make sure we have before:
\b # a word boundary
REG/ # literally REG/ string
) # end lookbehind
\d+ # 1 or more digits
答案 3 :(得分:0)
您可以使用正则表达式匹配字符从字符串中提取整数值。
text = "REG/123"
re.search(r'\d+', text)
o/p: 123
or
re.findall(r'\d+', text)
o/p: 123
说明:
“ \ d”-匹配任何十进制数字;这相当于[0-9]类。
“ +”-一个或多个整数