Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正则表达式条件:除'外的字母;crfl&x27;在单词或字符串的末尾是否删除?_Python_Regex - Fatal编程技术网

Python 正则表达式条件:除'外的字母;crfl&x27;在单词或字符串的末尾是否删除?

Python 正则表达式条件:除'外的字母;crfl&x27;在单词或字符串的末尾是否删除?,python,regex,Python,Regex,我试过: re.sub(r'[^crfl](?=(\.|\,|\s|\Z))', '', val, flags=re.I) 在线上 car. cupid, fof bob lol. koc coc, cob 但结果是: car cupi fof bo lol koc coc co 我不明白,为什么前瞻断言删除了逗号和点 我支持的结果是: car. cupi, fof bo lol. koc coc, co 只需在否定列表中包含,。请参阅演示 或者干脆 \w(?<![crlf])

我试过:

re.sub(r'[^crfl](?=(\.|\,|\s|\Z))', '', val, flags=re.I)
在线上

car. cupid, fof bob lol. koc coc, cob 
但结果是:

car cupi fof bo lol koc coc co
我不明白,为什么前瞻断言删除了逗号和点

我支持的结果是:

car. cupi, fof bo lol. koc coc, co
只需在否定列表中包含
。请参阅演示

或者干脆

\w(?<![crlf])\b
\w(?)?
见演示


[^crfl]
匹配
,所有不是
c
r
f
l
。你只处理ASCII字母吗?顺便说一句,
\Z
不受Python
re
支持。我现在明白了。不,我正在使用Unicode,法语。不幸的是,
re
不适用于Un我编码得很好。你能使用PyPi
regex
模块吗?哦,我看到Python
re
不支持
\z
,但支持
\z
:)谢谢,我将查看PyPi regex。使用这种方法,列表应该扩展为更多字符。法语字母regex是
[a-zA-Zäèèèèèèèèèèèèèèèèèèèèèèèèèèè。因此,答案是
(?![crfl])[a-zA-Zäèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèèè232@WiktorStribiżew这应该可以用
u
flag帮他解决问题,但是
\w
匹配数字和下划线。@WiktorStribiżew Easy fix…只需添加到Lookbehind中的字符类,我认为应该重新打开。如果您同意,请单击“重新打开”。
\w(?<![crlf])\b