我完全不知道如何使用正则表达式。我不是初学者。
我想从字符串中找到任何无效的css名称,因此我可以排除它们。在线查找我找到了一种使用此方法选择有效名称的方法:
/-?[_a-zA-Z]+[_a-zA-Z0-9-]*/g
我想要做的是否定这个表达式,因此在这个示例输入中只匹配'1999':
holding-page single 1999 contact id-12 contact single single
答案 0 :(得分:2)
To"否定"表达式,将其转换为负向前看:
/(?<!\S)(?!-?[_a-zA-Z]+[_a-zA-Z0-9-]*)\S+(?!\S)/g
请参阅live demo。
这与一个完整的术语相匹配,但是不的术语与正面的正则表达式相匹配。
A&#34;完整的术语&#34;匹配使用(?<!\S)\S+(?!\S)
,\S+
(一个或多个非空白)包裹在负向环绕中,而不是非空格,以防止匹配术语的部分。
注意&#34;不是非空白&#34;是不与&#34; whitespace&#34;相同,因为&#34;不是非空白&#34;也匹配输入的开头和结尾,因此无效的前导和尾随术语也会匹配。
您的正面正则表达已经变为负面展望,将其封装在(?!...)
中。