需要快速正则表达式

5 php regex

我想要一个只允许这样的正则表达式:

 letter a-z
 case insensitive
 allows underscores
 allows any nrs
Run Code Online (Sandbox Code Playgroud)

怎么写呢?

谢谢

Tom*_*lak 7

那就是

\w

如果我没有弄错(事实证明,它取决于:在PHP中,\w改变的含义是当前有效的语言环境).您可以使用更明确的表单来确定它:

[A-Za-z0-9_]

我在上下文中使用它,添加字符串的开头和字符串结尾的锚点以及定义允许的字符数量的量词:

^[A-Za-z0-9_]+$


Mat*_*att 5

PHP:

if (preg_match('/[^a-z0-9_]/i', $input)) {
  // invalid input
} else {
  // valid input
}
Run Code Online (Sandbox Code Playgroud)

[a-z0-9_]是有效字符的字符集.添加^到前面([^a-z0-9_])否定它.逻辑是,如果任何字符匹配有效字符集中不存在的内容,则输入被视为无效.

/i在年底使比赛不区分大小写.