Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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正则表达式标点符号识别_Python_Regex_Punctuation - Fatal编程技术网

Python正则表达式标点符号识别

Python正则表达式标点符号识别,python,regex,punctuation,Python,Regex,Punctuation,我被这件事难住了。我只是在学习正则表达式,不明白为什么它不会返回标点符号 下面是正则表达式正在解析的文本文件的一部分: 4月/NNP is/VBZ 数字/DT 残忍的/JJ 月/NN ,/, 育种/VBG 丁香 外出/经常预算 of/IN 数字/DT 死亡/JJ 土地/北区 text=open_file.read() grammarList=原始输入(“输入语法字符串:”); tags=grammarList.split(“^”) tags\u pattern=r'\s+'。连接(r'([\w\

我被这件事难住了。我只是在学习正则表达式,不明白为什么它不会返回标点符号

下面是正则表达式正在解析的文本文件的一部分:

4月/NNP is/VBZ 数字/DT 残忍的/JJ 月/NN ,/, 育种/VBG 丁香 外出/经常预算 of/IN 数字/DT 死亡/JJ 土地/北区

text=open_file.read()
grammarList=原始输入(“输入语法字符串:”);
tags=grammarList.split(“^”)
tags\u pattern=r'\s+'。连接(r'([\w\,\:\;\“\-\。]+)/{0}。格式(re.escape(tag)),用于标记中的标记)+r“\b”
打印标签和图案
从重新进口芬德尔
起始位置=0
对于诗人的诗:
开始位置=文本。查找(“”,开始位置)
结束位置=文本。查找(“”,开始位置)
searchtext=文本[开始位置:结束位置]
poemname=诗
对于oldname,poemtitleswapList.items()中的newname:
poemname=poemname.replace(旧名、新名)
印刷品(诗名)
打印(findall(标记、模式、搜索文本))
打印(“\n”)
我认为在方括号中的“\,”将允许它返回一个“,”,但它不起作用


如果您有任何帮助,我们将不胜感激。

在尽量减少您的示例后,我们有:

re.findall(r"/\,\b", "/NN ,/, breeding/VBG Lilacs/NNP out/RB of/IN the/DT dead/JJ land/NN")

由于明显的原因,它不匹配:逗号后没有单词的开头。

你能提供一个完整的、可运行的示例来说明你的问题吗?不,这仍然不是一个完整的可运行示例。另外,你似乎用正则表达式解析XML/HTMl,这是非常错误的。我不确定我需要什么这个程序引用了一个40mb的文本文件,像poemList这样的数组很大。你想要整个程序吗?如果你不能正确地提问,甚至不能给我们一个我们可以测试的例子,你将得不到答案。而且,我问问题是为了尝试和学习。我不明白你的回答为什么如此激进。好吧,你赢了,我会回答我不知道如何恰当地问你问题。礼貌的回答是告诉我如何恰当地问问题。相反,这是五条傲慢的评论,说你不能在我给你的东西上帮助我。那就别帮我了。说“这是非常错误的。”“,当我甚至不处理XML时,我只是夸夸其谈,甚至没有提出建议。这有什么帮助?到目前为止,这里的每个人都很好。你的交易是什么?那么我如何修改我的代码?我不明白你在这里写了什么。我不知道你的代码是做什么的,所以我不知道应该怎么做,但是如果你在
\b
之前添加一个空格,字符串将匹配。如果你不理解我写的东西,你至少不理解
\b
的意思,所以你不应该在你的代码中使用它。
re.findall(r"/\,\b", "/NN ,/, breeding/VBG Lilacs/NNP out/RB of/IN the/DT dead/JJ land/NN")