为字符类alnum添加一个特殊符号

时间:2016-07-21 14:15:53

标签: regex shell awk special-characters

我可以在角色类中添加一些内容吗?

像我们知道的那样

              [:alnum:] 

包含所有字母数字字符!!

所以我想在课堂上添加一个特殊的符号(。)点!! 我们怎么做呢?

我试过了,

       class='\.*[:alnum:]'
       newclass="[$class]"

将类alnum和dot存储到变量字符串newclass中,之后使用awk中的$ newclass但没有运气

2 个答案:

答案 0 :(得分:2)

您可以添加任何字符:

[.[:alnum:]]

在BASH正则表达式中测试:

[[ 'abc.123' =~ ^[.[:alnum:]]+$ ]] && echo "ok" || echo "no"
ok

[[ 'abc.123' =~ ^[[:alnum:]]+$ ]] && echo "ok" || echo "no"
no

答案 1 :(得分:2)

Can i add something to a character class ? - 不,你不能。

话虽如此,字符类(例如[:alnum:])经常在括号表达式中使用(例如[[:alnum:]]),而可以具有多个字符类和/或字符列表和/或括号表达式中的字符范围,例如:

[[:alnum:].]

或:

[[:alnum:][:space:][:cntrl:]#-&@]

使用正则表达式时,理解术语和术语之间的差异非常重要:

bracket expressions
character classes
character lists
character ranges