2024-06-02 04:58:52 发布
网友
Hi-im尝试在python2.7中使用regex来搜索两个引号之间的文本,例如“hello there”。现在我正在使用:
matchquotes = re.findall(r'"(?:\\"|.)*?"', text)
它工作得很好,但只查找使用以下字符的引号:“
然而,我发现有些文本,我正在分析使用这些不同的字符:“。。。“
如何修改正则表达式,使其找到“。”或“”。。“或”。“
我不是专家,但对于那些“花哨”的引号,我首先会从表中得到它们的代码,如\xe2\x80\x9c或\u2019。然后我会尝试匹配他们写的正则表达式代码。为此,这可能会有帮助:http://www.regular-expressions.info/refunicode.html
我希望这有帮助!在
使用字符类可能有用,或者可能会破坏一切:
matchquotes = re.findall(r'[“”"](?:\\[“”"]|.)*?[“”"]', text)
如果你不太在意配对总是排成一行,这可能会满足你的需要。如果他们在另外两种模式中使用第三种类型的话,除非你建立了一些模式并找到了它们的交集,否则他们总是会把你搞砸的。在
根据您正在进行的其他处理以及文本来自何处,最好将所有引号转换为“而不是逐个处理。在
我不是专家,但对于那些“花哨”的引号,我首先会从表中得到它们的代码,如\xe2\x80\x9c或\u2019。然后我会尝试匹配他们写的正则表达式代码。为此,这可能会有帮助:http://www.regular-expressions.info/refunicode.html
我希望这有帮助!在
使用字符类可能有用,或者可能会破坏一切:
如果你不太在意配对总是排成一行,这可能会满足你的需要。如果他们在另外两种模式中使用第三种类型的话,除非你建立了一些模式并找到了它们的交集,否则他们总是会把你搞砸的。在
根据您正在进行的其他处理以及文本来自何处,最好将所有引号转换为“而不是逐个处理。在
相关问题 更多 >
编程相关推荐