我尝试匹配以下重复的值,并以:
开头,并以;
成功:
border-radius:5px;
border-radius:4px 4px;
border-radius:8px 8px 8px;
border-radius:5px 5px 5px 5px;
匹配模式不应与以下内容匹配:
border-radius:5px 0px;
border-radius:5px 0px 10px;
border-radius:5px 10px 8px 2px;
到目前为止,我知道如何匹配之前的所有内容':'在';'之后:
(?<=:)(.+px)((?=;)|)
另外,我通过这种方式匹配特定的文字:
((5px)(\s)*){1,4}
但我希望能够匹配一个文字,然后看看完全相同的文字是否重复0到3次用空格分隔并以分号结尾。
我正在寻找类似的东西:&#34;如果第一个值是5px,那么检查以下值是否也是5px,直到分号出现。&#34;
答案 0 :(得分:1)
您可以使用此正则表达式验证重复:
:(\d+px)(?:\h+\1)*;
说明:(在OP的帮助下)
(?:\h+\1)*;
启动一个新的非捕获组,\h+
匹配一个或多个水平空格(例如标签或常规空格),\1
匹配第一次捕获的发生如果匹配与第一个捕获组的值完全相同(例如,5px
与8px
不匹配),它似乎只会这样做。最后*
断言这种非捕获匹配发生0
到无限次(因此没有4
值的上限。)
答案 1 :(得分:0)