Python正则表达式标点符号识别
我被这件事难住了。我只是在学习正则表达式,不明白为什么它不会返回标点符号 下面是正则表达式正在解析的文本文件的一部分: 4月/NNP is/VBZ 数字/DT 残忍的/JJ 月/NN ,/, 育种/VBG 丁香 外出/经常预算 of/IN 数字/DT 死亡/JJ 土地/北区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\
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")