3

我想检查特殊字符 * 是否存在于我的字符串中。例如,我已经看过但都提到过[^[A..za..z0..9]]..,但这会给你字符串中的所有特殊字符,但不完全是你正在寻找的字符。因此,如果我的字符串包含* or [:space:]*或后面的任何字符,* (and not /* or */)则结果应该为真,否则为假。

Ex: 
Uint_8* A
Uint_16 * A
ABC * C    /*blablabla*/
ABC* C .. Should return true  
but 
Uint_8 A       /*blabla*/ ..... should return false

你可以帮帮我吗?

4

1 回答 1

2

您需要的正则表达式是[^/]\*[^/]

例如,如果您的字符串存储在变量中:

$ var='Uint_8 A       /*blabla*/'
$ [[ $var =~ [^/]\*[^/] ]] && echo true || echo false
false

grep文件匹配:

$ grep "[^/]\*[^/]" file
Uint_8* A
Uint_16 * A
ABC * C    /*blablabla*/
ABC* C .. Should return true
于 2013-02-27T13:01:00.110 回答