正则表达式匹配字符串中的多个 spaces/dashes

Regex matching multiple spaces/dashes in String

我有一个输入必须是大写的(支持 unicode),并且可以包含多个空格或破折号 -(并且应该以字母开头和结尾)。

我制作了这个正则表达式:/^[\p{Lu}]+\s*-*[\p{Lu}]+$/

正如所见 here,这符合我需要的所有内容,除非它包含多个破折号或空格(ABC DEFABC-DEF 有效,但 AB-CD-EFAB CD EF 不工作)。

我仍然是正则表达式的初学者,所以请多多包涵 :)

提前致谢,

科洛科

^[\p{Lu}]+(?:\s*-*[\p{Lu}]+)+$

          ^^               ^^

尝试 this.See demo.Make 小组接受 1 或更多。

https://regex101.com/r/yW3oJ9/7