我需要创建一个匹配单词空白单词的正则表达式,它不能以空白开始,单词和单词之间也不能有超过1个空格,我必须允许每个单词的字母和重音,我使用以下模式:
^([^+*.|()[]{}?/^sdtnr<>ºª!@"·#~½%¬&='¿¡~´,;:_®¥§¹×£µ€¶«²¢³$-\]+s{0,1}?)*$/
示例:
-Graça+whitespace+anotherWord -> match
-whitespace+Graça+whitespace+anotherWord -> don't match
-Graça+whitespace+whitespace+anotherword -> don't match
一般来说,这是一种验证,允许名字+空白+姓氏加重音字符和a-z字符
我必须排除所有特殊字符,如/*-+((!/($=
您可以尝试以下模式:^[x{0041}-x{02B3}]+s[x{0041}-x{02B3}]+
。
说明:由于您使用的字符与w
不匹配,因此您必须定义自己的单词字符范围。x{0041}
只是一个unicode索引等于0041
的字符。
演示
对于仅空格,请使用str_replace:
$string = str_replace(' ', '', $string);
对于所有空白,使用preg_replace:
$string = preg_replace('/s+/', '', $string);