我想检查我的字符串中是否存在特殊字符*。我已经找了一些例子,但所有提到的都是关于[^[A..za..z0..9]]..
但是这会给你所有字符串中的特殊字符,但不是你正在寻找的字符。
因此,如果我的字符串包含* or [:space:]*
或后跟* (and not /* or */)
的任何字符,则结果应为true,否则为false。
Ex:
Uint_8* A
Uint_16 * A
ABC * C /*blablabla*/
ABC* C .. Should return true
but
Uint_8 A /*blabla*/ ..... should return false
你能帮帮我吗?
答案 0 :(得分: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