Php 要检查连续空格的Regexp
我正在努力写一个正则表达式,过滤掉只包含瑞典语字母、连字符和单个空格的字符串,也就是说,不是一行两个。我有这个Php 要检查连续空格的Regexp,php,Php,我正在努力写一个正则表达式,过滤掉只包含瑞典语字母、连字符和单个空格的字符串,也就是说,不是一行两个。我有这个preg_匹配('/^[A-ZÅÅA-Zåäö-]+\s{1}$/',$b),我觉得我尝试了100种不同的模式,但都不起作用。如何实现这一点?多个空格(两个或更多)是{2,},请尝试用它替换你的{1},然后再次运行它。现在,你的正则表达式将查找一个包含这些字符的单词,然后是一个空格。如果您正在寻找一种方法来捕获诸如[word][single space][word][single spa
preg_匹配('/^[A-ZÅÅA-Zåäö-]+\s{1}$/',$b)
,我觉得我尝试了100种不同的模式,但都不起作用。如何实现这一点?多个空格(两个或更多)是{2,},请尝试用它替换你的{1},然后再次运行它。现在,你的正则表达式将查找一个包含这些字符的单词,然后是一个空格。如果您正在寻找一种方法来捕获诸如[word][single space][word][single space]
之类的内容,您可能需要尝试一下
/^([A-ZÅÄÖa-zåäö-]+\s{1}?)+$/
通常,解决此类问题的最佳方法是将其拆分为两个独立的正则表达式检查
- 检查字符串是否只包含所需的字母(和空格)
- 如果第一个检查通过,请检查它是否没有两个或更多连续的空格
我得到了一个完美的答案,但它消失了。。。无论如何,这段代码成功了!preg_match('/^(?[a-zåäö-]+|\s(?!\s))+$/i',$b)给出匹配的句子和不应该匹配的句子的示例我想我能帮上忙,但我不知道您想要匹配什么。你能解释一下(并举例说明)匹配的字符串和不匹配的字符串吗?这与问题无关,但如果你的源代码(和文本)是UTF-8,你应该使用
u
开关使其正常工作。他说他不想匹配两个空格。@eykanal,我认为真正的问题是没有人知道他想要匹配什么…我甚至不知道他是否知道他想要匹配什么,因此困难:)我很抱歉,但我认为你应该重新阅读regexp的功能,并考虑1个空格,而不是2个或更多。此外,当涉及到与计算机相关的任何事情时,否定都是微不足道的操作。@furicane-如果它是否定,它将是[^…]
。事实上,他正在使用^
和$
来指定字符串的开头和结尾。各位,很抱歉搞混了,我应该说得更清楚一些。我否定了preg_比赛。对不起,我应该说得更清楚,不过谢谢你的回答,但我并不是真的在找汉克斯,这是有效的:)但我得到了另一个答案,用一种表达方式解决了所有问题。但我还是会给你这个答案:)
if ( preg_match('/^[A-ZÅÄÖa-zåäö-\s]$/',$b) && !preg_match('/\s\s+/', $b) ) {
/...
}