我想检查我的字符串中是否存在特殊字符 *。我找过例子,但都提到了 [^[A..za..z0..9]]..
但这会给你字符串中的所有特殊字符,但不完全是你的字符寻找。
因此,如果我的字符串包含 * 或 [:space:]*
或任何后跟 * 的字符(而不是/* 或 */)
,则结果应该为 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
你能帮帮我吗?
最佳答案
您需要的正则表达式是[^/]\*[^/]
:
例如,如果您的字符串存储在一个变量中:
$ 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
关于shell - 狂欢 : Search for specific special character in string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15112454/