不以组中任何字符开头且不包含任何多个子字符串的字符串的正则表达式

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

这对某些人来说可能很简单,但我已经浪费了大量时间试图自己到达那里。我需要一个正则表达式:

  1. 请勿以“_”或“-”开头。
  2. 请勿以“_”或“-”结尾。
  3. 请勿包含“__”或“--”或“_-”或“-_”。 我在 regex builder 上花了几个小时,但我无法到达那里。请不要标记为重复,我知道我可以单独找到每个标准的方法,但我不能将它们放在一起。任何帮助将不胜感激。
regex regex-lookarounds regex-group regex-negation
2个回答
0
投票

我们可以使用以下模式:

^[^_-](?!.*(?:__|--|_-|-_))(?:.*[^_-])?$

0
投票

这个正则表达式可以解决您的问题吗?

  1. 请勿以“_”或“-”开头。 正则表达式:
    ^(?!\-|_).+
    测试:https://regex101.com/r/6YJAE6/1
  2. 不要以“_”或“-”结尾。 正则表达式:
    .+(?<!\-|_)$
    测试:https://regex101.com/r/9Kjyuj/1
  3. 请勿包含“__”或“--”或“-”或“-”。 正则表达式:
    ^[^\-_]+$
    测试:https://regex101.com/r/ZD1nXa/1
© www.soinside.com 2019 - 2024. All rights reserved.