Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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 使用字典和re.compile()进行搜索_Python_Regex_Python 3.x_Parsing - Fatal编程技术网

Python 使用字典和re.compile()进行搜索

Python 使用字典和re.compile()进行搜索,python,regex,python-3.x,parsing,Python,Regex,Python 3.x,Parsing,我在创建解析器时遇到了一个问题。我要在txt文件中解析的行如下所示: '>NAME=(这里有各种名称) 每次我看到这个>Name=“我都想在这行中读 我的字典有一项: my_dict = { 'name': re.compile(r'>NAME= (?P<name>.*)\n'), } my_dict={ “名称”:重新编译(r'>名称=(?P.*)\n'), } 用命令逐行读取我的txt文件以查找“name”,我从未找到这些行 当我接近时,我找不到正确的语法来阅

我在创建解析器时遇到了一个问题。我要在txt文件中解析的行如下所示:

'>NAME=(这里有各种名称)

每次我看到这个
>Name=“
我都想在这行中读

我的字典有一项:

my_dict = {
    'name': re.compile(r'>NAME=  (?P<name>.*)\n'),
}
my_dict={
“名称”:重新编译(r'>名称=(?P.*)\n'),
}
命令逐行读取我的txt文件以查找
“name”
,我从未找到这些行


当我接近时,我找不到正确的语法来阅读这一行。似乎我不太明白如何处理
>NAME=
(***)
之间的空白

如果您需要匹配以下内容:

>NAME=(Bob)

您的正则表达式模式必须修改如下:

>NAME=\((?p.*)\n

否则圆括号将不匹配

上述模式将匹配:


name=Bob

如果需要匹配以下内容:

>NAME=(Bob)

您的正则表达式模式必须修改如下:

>NAME=\((?p.*)\n

否则圆括号将不匹配

上述模式将匹配:


name=Bob

如果您的声明是
?另外,请将文件的示例内容放在文本块中,以便我们可以看到它的外观。我不知道
'
是否是你的文件的一部分。字典的用途是什么?字符串前面的
r
不会导致你在匹配结束时搜索一个文本
“\n”
,而不是我认为你要找的新行吗?@SyntaxVoid实际上这部分是正确的。
r
是为了防止反斜杠瘟疫。请回答您的问题并添加代码,说明如何在字典中使用已编译的正则表达式。您的
if
语句在哪里?另外,请将文件的示例内容放在文本块中,以便我们可以看到它的外观。我不知道
'
是否是你的文件的一部分。字典的用途是什么?字符串前面的
r
不会导致你在匹配结束时搜索一个文本
“\n”
,而不是我认为你要找的新行吗?@SyntaxVoid实际上这部分是正确的。
r
是为了防止反斜杠瘟疫。请回答您的问题,并添加代码,说明如何在字典中使用已编译的正则表达式。