我正试着写一个正则表达式,试图过滤掉只包含瑞典字母,连字符和单个空格的字符串 - 也就是说,不是连续两个字符串。我有这个preg_match('/^[A-ZÅÄÖa-zåäö-]+\s{1}$/',$b)
,我觉得我已经尝试了一百种不同的模型,但它不起作用。我该如何做到这一点?
答案 0 :(得分:1)
多个空格(两个或多个)为{2,},因此请尝试将{1}替换为{1}并再次运行。
答案 1 :(得分:0)
现在,你的正则表达式会查找包含这些字符的单词,然后查找单个空格。如果您正在寻找捕捉[word][single space][word][single space]
等内容的方法,您可能需要尝试
/^([A-ZÅÄÖa-zåäö-]+\s{1}?)+$/
答案 2 :(得分:0)
通常,解决此类问题的最佳方法是将其拆分为两个单独的正则表达式检查。
尝试:
if ( preg_match('/^[A-ZÅÄÖa-zåäö-\s]$/',$b) && !preg_match('/\s\s+/', $b) ) {
/...
}
答案 3 :(得分:0)
我得到了一个完美的答案,但它消失了......无论如何,这段代码完成了这个伎俩!preg_match('/^(?:[a-zåäö-]+|\s(?!\s))+$/i',$b)