正则表达式检查字符串是否仅包含字母(小写/大写)、数字和一些特殊字符

正则表达式检查字符串是否仅包含字母(小写/大写)、数字和一些特殊字符

我使用表单用户获取的字符串read可以包含:

  • 字母
  • 数字
  • _

对于另一个字符串,规则与上述相同,另外还需注意:

  • 仅以字母开头

我从这个开始:

if [[ $A = [a-z]* ]]

但它会检查字符串是否以小写字母开头,

答案1

对于第一种情况,这应该有效:

if [[ $A = \w+ ]]

\w匹配“单词”字符,包括下划线。它可能会识别一些无效的 Unicode 字符串,因此[A-Za-z0-9\\_]可能比您更适合\w

第二次尝试:

if [[ $A = ^[A-Za-z]\w+ ]]

相关内容