在字符和第一个空格之间搜索

时间:2019-06-18 10:38:40

标签: python regex

我正在尝试从REG / 123和空白之间的字符串REG / 123中提取数字。

我尝试了以下代码,尽管它们只占用行中的最后一个空格。

test=line[line.find("REG/")+len("REG/"):line.rfind(" ")]

test=re.search('REG/(.*)" "',line)

4 个答案:

答案 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]类。

“ +”-一个或多个整数