RegEx不包含“-” [重复项]

问题描述 投票:0回答:1

我想用字母数字值验证字符串,但是如果字符串在字符串中的任何位置都包含--(双破折号),则它应该无效。

有效:

  • apple123
  • -apple-123
  • app-le123
  • a-p-p-l-e-1-2-3

无效:

  • -apple123
  • app--le123

https://stackoverflow.com/a/1240365/1920590

上面的旧帖子的答案为^(?!.*bar).*$,该否定了答案,但不适用于--这样的相同字符重复。

[谁能帮我找出修改^(?!.*bar).*$以将--标识为字符串的方法。

regex repeat subsequence negate
1个回答
0
投票

您可以使用否定的前瞻:

^(?!.*--)[\w-]+$
  • [(?!.*--)是否定的超前断言,如果--出现在输入中的任何位置,则匹配将失败。
  • [[\w-]匹配单词字符[a-zA-Z0-9_]或连字符

RegEx Demo

© www.soinside.com 2019 - 2024. All rights reserved.