【发布时间】:2011-03-06 21:59:19
【问题描述】:
我正在尝试编写一个函数来清理 Web 应用程序中的 unicode 输入,我目前正在尝试在本页末尾重现 PHP 函数:http://www.iamcal.com/understanding-bidirectional-text/
我正在 python 中寻找 PHP 的 preg_match_all 的等效项。 RE 函数 findall 返回没有位置的匹配项,而 search 只返回第一个匹配项。是否有任何函数可以返回每个匹配项以及文本中的相关位置?
使用字符串abcdefa 和模式a|c,我想得到类似[('a',0),('c',2),('a',6)] 的东西
谢谢:)
【问题讨论】:
-
当心:该代码与单个 UTF-8 字节匹配,这通常是错误的做法。转换为 Unicode 字符串并正确地与 Unicode 代码点进行比较。
-
感谢您指出这一点,但这只是一个可打印示例。最终解决方案将使用正则表达式
u'\u202A|\u202B|\u202D|\u202E'进行匹配;)