我完全不知道如何使用正则表达式。我不是一个初学者。
我想从字符串中找到任何无效的css名称,所以我可以排除它们。在线查找我找到了一种方法来选择有效的名称:
/-?[_a-zA-Z]+[_a-zA-Z0-9-]*/g
我想要做的是否定这个表达式,以便在这个示例输入中只匹配'1999':
holding-page single 1999 contact id-12 contact single single
为了“否定”一个表达方式,将其转为负面展望:
/(?<!\S)(?!-?[_a-zA-Z]+[_a-zA-Z0-9-]*)\S+(?!\S)/g
这样做是匹配一个完整的术语,但与你的正面正则表达不匹配。
使用(?<!\S)\S+(?!\S)
匹配“完整术语”,\S+
是(?!...)
(一个或多个非空白),包裹在负外观中,而不是非空格,以防止匹配术语的一部分。
请注意,“不是非空格”与“空白”不同,因为“非空白”也与输入的开头和结尾相匹配,因此无效的前导和尾随术语也会匹配。
你的正面正则表达被封闭在qazxswpoi中变成了负面展望。