Asm*_*ari 3 python regex django
我想编写一个模板标签,用破折号替换空格,制表符,新行,逗号,下划线,以建立一个SEO友好的URL:
re.sub('\s+', '-', str)
Run Code Online (Sandbox Code Playgroud)
这行代码用dash替换空格:
re.sub('(?<=[,.?!\t\n ])+', '-', str)
Run Code Online (Sandbox Code Playgroud)
这行代码应该?<=[,.?!?用dash 替换和替换,但事实并非如此.
您是否考虑过使用内置slugify过滤器?
你的第二个表达式的问题是你正在使用一个积极的lookbehind(?<=).
"零宽度正向后观.如果前瞻中的图案可以匹配在该位置结束(即该位置的左侧),则匹配位置.
以下可能是您尝试做的事情:
re.sub('[,.?!\t\n ]+', '-', s)
Run Code Online (Sandbox Code Playgroud)
这是用,.?!\t\n一个破折号替换任何字符序列.