【发布时间】:2014-02-26 06:55:16
【问题描述】:
我正在使用正则表达式从文本中去除“要点”。这些项目符号点通常是 unicode 范围内的符号,例如几何形状 (\u25a0-\u25ff) 或类似符号。以下是此类项目符号的示例:
◉ 这是一颗子弹 ♦︎这也是一颗子弹 ☉ 这个也是 这不是子弹。我正在使用以下正则表达式来匹配这些要点:
\s*([\u00a4\u00b7]|[\u2010-\u2017]|[\u2020-\u206f]|[\u2300-\u23f3]|[\u25a0-\u25ff]|[\u2600-\u26ff]|[\u2700-\u27bf]|[\u2b00-\u2bff])\s*
这在 Ruby 中有效(参见 http://rubular.com/r/O7ZObURmlt 的示例),但在 Python 中,它匹配任何字符串的第一个字符。例如,字符串This is not a bullet 中的T 字符匹配。您可以将上述正则表达式和示例文本复制到http://www.pythonregex.com/ 以自己查看。
正则表达式使用UNICODE 标志编译。
如何让 Python 的正则表达式引擎与这个表达式配合得很好?
【问题讨论】:
-
这就是python查看正则表达式的方式吗? !Regular expression visualizationDebuggex Demo
-
当我刚尝试你的正则表达式时为我工作。请发布一些实际显示您认为您遇到的问题的代码。
标签: python regex unicode python-unicode