正则表达式匹配String中的多个空格/短划线

时间:2015-05-26 08:38:51

标签: php regex preg-match

我的输入必须是大写的(支持unicode),并且可以包含多个空格或短划线select t1.id, t1.name, count(t2.mydate) as datecount FROM TableA t1 INNER JOIN ( SELECT Distinct id_used,mydate FROM TableB) t2 ON t1.id = t2.id_used GROUP by t1.id,t1.name (并且应该以字母开头和结尾)。

我制作了这个正则表达式:-

here所示,这符合我需要的一切,除非它包含多个破折号或空格(/^[\p{Lu}]+\s*-*[\p{Lu}]+$/ABC DEF,但ABC-DEFAB-CD-EF不要不行。)

我仍然是正则表达式的初学者所以请耐心等待我:)

提前致谢,

Coloco

1 个答案:

答案 0 :(得分:2)

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

          ^^               ^^

试试这个。看看演示。让小组接受1或更多。

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