Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 42c9f7ce,“作为舒库尔学派”,空,[空,空,12.7854174,78.7196367] """ rex=re.compile(r'^,\[“0x[a-f0-9]{16}:0x[a-f0-9]{16}”,([^]*),null,\[null,null,(\d+\.\d{5,16}),(\d+\.\d{5,16})\]$,re.M) 对于rex.finditer中的m(行): 打印(m[1],m[2],m[3])_Python_Regex - Fatal编程技术网

Python 42c9f7ce,“作为舒库尔学派”,空,[空,空,12.7854174,78.7196367] """ rex=re.compile(r'^,\[“0x[a-f0-9]{16}:0x[a-f0-9]{16}”,([^]*),null,\[null,null,(\d+\.\d{5,16}),(\d+\.\d{5,16})\]$,re.M) 对于rex.finditer中的m(行): 打印(m[1],m[2],m[3])

Python 42c9f7ce,“作为舒库尔学派”,空,[空,空,12.7854174,78.7196367] """ rex=re.compile(r'^,\[“0x[a-f0-9]{16}:0x[a-f0-9]{16}”,([^]*),null,\[null,null,(\d+\.\d{5,16}),(\d+\.\d{5,16})\]$,re.M) 对于rex.finditer中的m(行): 打印(m[1],m[2],m[3]),python,regex,Python,Regex,印刷品: SRI VIVEKANANDA MATRIC HIGHER SECONDARY SCHOOL Ambur (Spiritual, Modern Scientific Education) 12.784799699999999 78.7137085 Sudha Nursery & Primary School 12.7849528 78.7159848 它将不匹配第3行,因为0x4EA2FC42C9F7CE仅包含15个“半字节”(半字节) 更新 如果您假设每一行都应该匹配,并且

印刷品:

SRI VIVEKANANDA MATRIC HIGHER SECONDARY SCHOOL Ambur (Spiritual, Modern Scientific Education) 12.784799699999999 78.7137085
Sudha Nursery & Primary School 12.7849528 78.7159848
它将不匹配第3行,因为
0x4EA2FC42C9F7CE
仅包含15个“半字节”(半字节)

更新

如果您假设每一行都应该匹配,并且您希望使用更宽松的正则表达式,因为行中可能存在一些变化(例如,插入的空格),那么您可能希望使用它(带有标志
re.M
):

  • ^
    匹配行首
  • [^[]*
    匹配0个或更多非
    [
    字符
  • [
    匹配一个
    [
  • “0x[a-f0-9]+:0x[a-f0-9]+”
    匹配以
    分隔的任意长度的带引号的十六进制字符串:
  • [^”]*
    匹配0个或更多非
    字符
  • “([^”]*)”
    匹配捕获组1中的带引号的字符串
  • \D*
    匹配0个或更多非数字
  • (\d+\.\d{5,16})
    匹配捕获组2中的十进制数
  • 匹配一个
  • (\d+\.\d{5,16})
    匹配捕获组3中的十进制数
  • 重新导入
    行=“”,[“0x3bad08fb87bc906f:0x74d6f6242d49ab18”,“斯里兰卡维维卡南达母校高中Ambur(精神,现代科学教育)”,空,[空,空,12.7847999999,78.7137085]
    ,[“0x3bad08e4f337028d:0x5635e172ff9d7570”,“苏达托儿所\u0026小学”,空,[空,空,12.7849528,78.7159848]
    ,[“0x3bad08e6a3dfe635:0x4ea2fcc42c9f7ce”,“作为舒库尔学派”,null,[null,null,12.7854174,78.7196367]
    """
    rex=re.compile(r'^,[^[]*\[“0x[a-f0-9]+:0x[a-f0-9]+“[^”]*”([^”]*)“\D*(\D+\.\D{5,16}),(\D+\.\D{5,16})”,re.M)
    对于rex.finditer中的m(行):
    打印(m[1],m[2],m[3])
    
    印刷品

    SRI VIVEKANANDA MATRIC HIGHER SECONDARY SCHOOL Ambur (Spiritual, Modern Scientific Education) 12.784799699999999 78.7137085
    Sudha Nursery & Primary School 12.7849528 78.7159848
    As-Shukoor School 12.7854174 78.7196367
    
    更新2

    如果你真的想宽大些,假设每一行都应该匹配:

    ^[^"]*"[^"]*"[^"]*"([^"]*)"\D*(\d+\.\d+)\D*(\d+\.\d+)
    
  • ^
    匹配行首
  • [^”]*“[^”]*”
    跳到并匹配第一个字符串
  • [^“]*”([^“]*)”
    跳到并匹配第二个字符串并放入捕获组1
  • \D*(\D+\.\D+
    跳到下一位并捕获捕获组2中的十进制数
  • \D*(\D+\.\D+
    跳到下一位并捕获捕获组3中的十进制数
  • 重新导入
    行=“”,[“0x3bad08fb87bc906f:0x74d6f6242d49ab18”,“斯里兰卡维维卡南达母校高中Ambur(精神,现代科学教育)”,空,[空,空,12.7847999999,78.7137085]
    ,[“0x3bad08e4f337028d:0x5635e172ff9d7570”,“苏达托儿所\u0026小学”,空,[空,空,12.7849528,78.7159848]
    ,[“0x3bad08e6a3dfe635:0x4ea2fcc42c9f7ce”,“作为舒库尔学派”,null,[null,null,12.7854174,78.7196367]
    """
    rex=re.compile(r'^[^“]*“[^”]*“[^”]*”([^“]*)“\D*(\D+\.\D+\D*(\D+\.\D+.*$”,re.M)
    对于rex.finditer中的m(行):
    打印(m[1],m[2],m[3])
    
    谢谢@Booboo。说真的,我甚至没有注意到第3行有15个字节,继续认为每行有16个。如果我也要第3行呢?好吧,如果唯一的可能性是15和16,那么
    r'^,\[[0x[a-f0-9]{16}:0x[a-f0-9]{15,16}…等等。
    如果你不确定或者你想放松条件
    r'^,\[[0x[a-f0-9]+:0x[a-f0-9]+…等等。
    ,每个只表示1个或更多。请注意,以上基于您的正则表达式,就格式而言需要非常严格的遵守。我将使用更宽松的内容更新答案。请参阅更新的答案。谢谢@Booboo。说真的,我甚至没有注意到第3行有15个半字节,继续思考每一行had 16.如果我也想要第3行呢?如果唯一的可能性是15和16,那么
    r'^,\[“0x[a-f0-9]{16}:0x[a-f0-9]{15,16}…等等。
    如果你不确定或者你想放松条件
    r'^,\[“0x[a-f0-9]+:0x[a-f0-9]+…等等。
    ,每个只表示一个或多个。请注意,以上基于您的正则表达式,就格式而言需要非常严格的遵守。我将使用更宽松的内容更新答案。请参阅更新的答案。
    ^,[^[]*\["0x[a-f0-9]+:0x[a-f0-9]+"[^"]*"([^"]*)"\D*(\d+\.\d{5,16}),(\d+\.\d{5,16})
    
    SRI VIVEKANANDA MATRIC HIGHER SECONDARY SCHOOL Ambur (Spiritual, Modern Scientific Education) 12.784799699999999 78.7137085
    Sudha Nursery & Primary School 12.7849528 78.7159848
    As-Shukoor School 12.7854174 78.7196367
    
    ^[^"]*"[^"]*"[^"]*"([^"]*)"\D*(\d+\.\d+)\D*(\d+\.\d+)