
[英]How can I set and retain attributes on characters in a Python 2 string?
[英]How can i retain specific characters in a sentence
我想使用正则表达式从句子中删除某些单词或字符,但有一些例外。
例如-我有一个字符串, this is [/.] a string [ra] with [/] something
,我想删除[ra]
, [/.]
但不删除[/]
。
我用了:
m = re.sub('\[.*?\]','',n)
它工作正常,如何保留此-> [/]
您可以使用
re.sub(r'\[(?!/])[^][]*]', '', n)
参见regex演示 。
细节
\\[
-一个[
char (?!/])
-如果当前位置的右侧紧邻有/]
则负匹配将使匹配失败 [^][]*
- [
和]
以外的0+个字符 ]
-一个]
字符。 使用此模式\\[(?!\\/\\])[^\\]]+\\]
并将所有匹配项替换为空字符串。
说明:它与[
与\\[
匹配,然后确保,后面的不是NOT \\]
,所以我们不与[\\]
匹配,这是通过负的超前查询: (?!\\/\\])
,然后它匹配所有内容直到]
和]
本身具有图案[^\\]]+\\]
[^\\]]+
其它一个或多个字符匹配,那么]
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.