在两个标记之间提取文本并在Regex for Python中处理反斜杠

Zahaib Akhtar

我在文件中有一些URL,其中一些URL嵌入在特定的开始和结束标记之间,而另一些则没有。我只需要提取嵌入在开始和结束标签之间的标签。

我的一行inputfile.txt如下所示:

some gibberish data-start=\"https:\/\/cdn.net\/hphotos-ak-xfa1\/1.jpg\" data-end this is useless text, some gibberishhh data-start=\"https:\/\/cdn.net\/hphotos-xaf1\/2.jpg\" data-end some gibberish fake-data-start=\"https:\/\/cdn.net\/hphotos-xaf1\/2.jpg\" fake-data-end

我需要的URL的开始和结束标记是data-startdata-end相对于fake-data-startfake-data-end

现在,我在Python中使用以下正则表达式提取上述URL:

(?<=\ data-start=\\\")([^"]+\.[^"]+\.[^"]+)(?=\"\ data-end)

我相信上面的正则表达式可以通过此链接进行测试

而我的Python代码是:

import re
import string
import sys

s = re.compile('(?<=\ data-start=\\\")([^"]+\.[^"]+\.[^"]+)(?=\"\ data-end)')

fin = open('inputfile.txt') 

for line in fin: 
    m = s.findall(line)

if m:       
    print m

但是,我的Python代码无法找到URL,另一方面,如果我从文件中删除所有反斜杠,则上述代码可以正常工作。我无法解释这种差异。

wn

反斜杠用作转义符。因此; 对于每个单个\)反斜杠,您需要两个反斜杠(\\)。您可以在此处使用以下正则表达式:

(?<=data-start=\\").*?(?=\\" data-end)

说明

(?<=              # look behind to see if there is:
   data-start=    #   'data-start='
  \\              #   '\'
  "               #   '"'
)                 # end of look-behind
.*?               # any character except \n (0 or more times)
(?=               # look ahead to see if there is:
  \\              #   '\'
  " data-end      #   '" data-end'
)                 # end of look-ahead

注意:如果数据跨越多行,请使用inline(?s)修饰符强制点与换行符匹配。

(?s)(?<=data-start=\\").*?(?=\\" data-end)

最终解决方案

import re

myfile = open('inputfile.txt', 'r')
regex  = re.compile(r'(?<=data-start=\\").*?(?=\\" data-end)')

for line in myfile:
    matches = regex.findall(line)
    for m in matches:
        print m

输出量

https:\/\/cdn.net\/hphotos-ak-xfa1\/1.jpg
https:\/\/cdn.net\/hphotos-xaf1\/2.jpg

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

转义反斜杠在javascript中打印两个反斜杠

来自分类Dev

为什么在Python路径中需要4个反斜杠?

来自分类Dev

如何在两个变量之间连接反斜杠?

来自分类Dev

提取外壳中两个行号之间的行

来自分类Dev

用JavaScript中的单个反斜杠替换两个反斜杠

来自分类Dev

makefile中带反斜杠的多行配方和不带反斜杠的多行配方之间的区别

来自分类Dev

为什么在PHP中3个反斜杠等于4个反斜杠?

来自分类Dev

如何在Python中的两个html标记之间获取所有内容?

来自分类Dev

在Bash中提取最后两个斜杠之间的字符串

来自分类Dev

Python:使用正则表达式提取html中任意两个标签之间的文本

来自分类Dev

Python:两个文件之间逐字进行文本处理

来自分类Dev

R中两个逗号之间的文本数据的正则表达式提取

来自分类Dev

使用javascript中的正则表达式提取最后两个斜杠之间的字符串

来自分类Dev

Vlookup无法处理两个表之间的文本

来自分类Dev

如何用另一个文件中的一部分文本替换文件中两个标记之间的文本?

来自分类Dev

REGEX:选择两个斜杠之间的匹配项吗?

来自分类Dev

使用python消除两个文本块之间的重叠

来自分类Dev

在Python中,如何在列表中有一个反斜杠元素?

来自分类Dev

Python中的Glob包。文件路径以\\代替/附加。期望正斜杠而不是2个反斜杠

来自分类Dev

删除两个标签python之间的文本

来自分类Dev

当文本块中必须存在特定字符串时,如何使用sed / awk在两个模式之间提取文本

来自分类Dev

如何在Google表格中的两个单词之间提取文本?

来自分类Dev

当两个定界符在字符串中多次出现时,提取两个定界符之间的所有文本

来自分类Dev

在两个html标记之间获取文本:Python Web抓取(迭代结果集时跳过文本)

来自分类Dev

Python-如何在大文本中的两个变量之间提取文本

来自分类Dev

如果在Python中使用Regex在两个字符串之间存在子字符串,则提取两个字符串之间的文本

来自分类Dev

提取熊猫列中两个标记之间的文本

来自分类Dev

带正则表达式的SQL过程中的两个反斜杠

来自分类Dev

从R中两个符号之间的段落中提取文本

Related 相关文章

  1. 1

    转义反斜杠在javascript中打印两个反斜杠

  2. 2

    为什么在Python路径中需要4个反斜杠?

  3. 3

    如何在两个变量之间连接反斜杠?

  4. 4

    提取外壳中两个行号之间的行

  5. 5

    用JavaScript中的单个反斜杠替换两个反斜杠

  6. 6

    makefile中带反斜杠的多行配方和不带反斜杠的多行配方之间的区别

  7. 7

    为什么在PHP中3个反斜杠等于4个反斜杠?

  8. 8

    如何在Python中的两个html标记之间获取所有内容?

  9. 9

    在Bash中提取最后两个斜杠之间的字符串

  10. 10

    Python:使用正则表达式提取html中任意两个标签之间的文本

  11. 11

    Python:两个文件之间逐字进行文本处理

  12. 12

    R中两个逗号之间的文本数据的正则表达式提取

  13. 13

    使用javascript中的正则表达式提取最后两个斜杠之间的字符串

  14. 14

    Vlookup无法处理两个表之间的文本

  15. 15

    如何用另一个文件中的一部分文本替换文件中两个标记之间的文本?

  16. 16

    REGEX:选择两个斜杠之间的匹配项吗?

  17. 17

    使用python消除两个文本块之间的重叠

  18. 18

    在Python中,如何在列表中有一个反斜杠元素?

  19. 19

    Python中的Glob包。文件路径以\\代替/附加。期望正斜杠而不是2个反斜杠

  20. 20

    删除两个标签python之间的文本

  21. 21

    当文本块中必须存在特定字符串时,如何使用sed / awk在两个模式之间提取文本

  22. 22

    如何在Google表格中的两个单词之间提取文本?

  23. 23

    当两个定界符在字符串中多次出现时,提取两个定界符之间的所有文本

  24. 24

    在两个html标记之间获取文本:Python Web抓取(迭代结果集时跳过文本)

  25. 25

    Python-如何在大文本中的两个变量之间提取文本

  26. 26

    如果在Python中使用Regex在两个字符串之间存在子字符串,则提取两个字符串之间的文本

  27. 27

    提取熊猫列中两个标记之间的文本

  28. 28

    带正则表达式的SQL过程中的两个反斜杠

  29. 29

    从R中两个符号之间的段落中提取文本

热门标签

归档