提问人:Olivier Grégoire 提问时间:12/11/2019 最后编辑:Olivier Grégoire 更新时间:12/11/2019 访问量:69
如何将所有非单词字符更改为破折号并在一个正则表达式中修剪破折号字符串?
How to change all non-word characters to a dash and trim the string of dashes in one regex?
问:
我想找到一个正则表达式和替换来一次完成以下所有任务:
- 将所有结束词替换为相同的词,但替换为 (regex: , replacement:
's
s
's\b
s
) - 删除字符串开头和结尾处的所有非单词字符 (regex: , replacement:
^\W*(.*?)\W*$
\1
) - 用单个破折号替换所有连续的其他非单词字符(正则表达式:,替换:
\W+
-
)
如上所述,我能够一个接一个地编写所有规则,但所有这些规则加在一起要困难得多。我无法减少要使用的正则表达式数量......
我想说的是,如果它适用于 regex101,那就足够了。如果不可能,我可以接受,这样说就足够了。
例子:
Input ---> Output
----- ------
Hello, World! ---> hello-world
(%O'Shea's,*cAt!§ ---> o-sheas-cat
答: 暂无答案
下一个:正则表达式匹配与缺失元素的排列
评论
O'Shea's
o-sheas
o-shea-s
'(?=s\b)
\W+
-