我需要一个匹配单字符串的正则表达式,只要它包含非单词字符(\ W +)。如果至少有一个单词字符,则它不应该匹配。字符串中保证不存在空格。
Valid examples:
$
&
@!
Invalid examples:
yahoo!
i@world.com
/\W/+
没有做我想要的,它验证了上面的例子。
我正在使用的语言是PHP,以防万一。
在此测试https://regex101.com/r/766z4j/2
答案 0 :(得分:3)
在开头和结尾添加锚点:
/^\W+$/
在PHP中:
if (preg_match('/^\W+$/', $string)) {
echo "Match\n";
}
你也可以测试否定:
if ( ! preg_match('/\w/', $string)) {
echo "Match\n";
}