我想在Java中使用下一个标准制作正则表达式:
实施例
我一直在尝试使用我自己的发明的正则表达式,一些接近我想要的结果的正则表达式,但没有成功。
我是否必须合并两个正则表达式?
请帮助我摆脱这个问题....并提前感谢!!!
答案 0 :(得分:4)
我认为你需要前瞻(这是一种结合两种正则表达式的方式)。
^(?!.*-.*-)[A-Z0-9-]{10}$
第二部分将匹配10个字符,即A-Z,0-9或破折号;第一部分是否定先行,它将拒绝其中包含两个破折号的模式。
答案 1 :(得分:2)
您可以使用:
^(?![^-]*+-[^-]*+-)[A-Z0-9-]{10}$
注意:如果您使用matches
方法,则可以移除锚点。