-2

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

有效的:

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

无效的:

  • --apple123
  • app--le123

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

上面的旧帖子有否定的答案^(?!.*bar).*$,但它不适用于相同的字符重复,如--.

任何人都可以帮助我弄清楚修改^(?!.*bar).*$以标识--为字符串。

4

1 回答 1

1

您可以使用负前瞻:

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

正则表达式演示

于 2019-10-09T09:01:35.240 回答