regex之匹配不包含连续破折号的字符串部分

jackei 阅读:30 2024-11-24 20:56:43 评论:0

我需要一个正则表达式来匹配不包含两个连续破折号的字母字符串。

我接近这个使用环视的正则表达式(我看不出有其他选择):

([-a-z](?<!--))+ 

其中给出以下作为输入:

qsdsdqf--sqdfqsdfazer--azerzaer-azerzear

产生三个匹配项:

qsdsdqf-
sqdfqsdfazer-
azerzaer-azerzear

然而我想要的是:

qsdsdqf-
-sqdfqsdfazer-
-azerzaer-azerzear

所以我的正则表达式丢失了第一个破折号,这是我不想要的。

谁能给我一个提示或一个可以做到这一点的正则表达式?

请您参考如下方法:

这应该有效:

-?([^-]-?)* 

它确保每两个破折号之间至少有一个非破折号。


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号