我正在使用此正则表达式从字幕文件中删除阿拉伯语变音符号,仅当变音符号后没有空格时,如何修改它以在变音符号后添加空格?我正在使用python 2.7。
file_content = re.sub(u'u0651', '', file_content)
喜欢
أعطني المفكّ، الآن
我需要在ّ之后添加空格
要成为
أعطني المفكّ ، الآن
使用正则表达式,您可以搜索所有出现后没有空格的听写标记:
file_content = re.sub(u'u0651[^ ]', 'u0651 ', file_content)
[^ ]
表示任何不是简单空格的字符。
S
也可以代替[^ ]
,因为它可以匹配任何不是空格的东西。
https://docs.python.org/2/library/re.html
[] 用于指示一组字符。
不在范围内的字符可以通过补充集合来匹配。如果集合的第一个字符是"^",则将匹配集合中不存在的所有字符。例如,[^5] 将匹配除"5"以外的任何字符,[^^] 将匹配除"^"以外的任何字符。^ 如果不是集合中的第一个字符,则没有特殊含义。
S
匹配任何不是空格字符的字符。这与 \s 相反。如果使用 ASCII 标志,则这相当于 [^ \t\r\f\v]。