Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 有没有办法用grep从正则表达式组中排除最后出现的字符_Regex_Bash_Grep - Fatal编程技术网

Regex 有没有办法用grep从正则表达式组中排除最后出现的字符

Regex 有没有办法用grep从正则表达式组中排除最后出现的字符,regex,bash,grep,Regex,Bash,Grep,我想编写一个与以下行匹配的正则表达式: int func ( int argument, char* str) for( int i = 0; i < 25; i++) if( true ) 但它不起作用,因为括号之间可能有有效的空格 我的问题是:有没有办法从正则表达式组中排除最后出现的字符 在literal中,我希望匹配在左括号后面有空格或右括号前面有空格的行 您可以交替使用此grep: grep '([[:blank:]]\|[[:blank:]])' file 在默认的grep

我想编写一个与以下行匹配的正则表达式:

int func ( int argument, char* str)
for( int i = 0; i < 25; i++)
if( true )
但它不起作用,因为括号之间可能有有效的空格

我的问题是:有没有办法从正则表达式组中排除最后出现的字符

在literal中,我希望匹配在左括号后面有空格或右括号前面有空格的行

您可以交替使用此
grep

grep '([[:blank:]]\|[[:blank:]])' file
  • 在默认的
    grep
    regex模式(BRE)中,不需要退出
  • [[:blank:][]
    匹配空格或制表符
  • 您需要在BRE中转义
    |
grep -E '[^\(]\( [^ ] \)'
grep '([[:blank:]]\|[[:blank:]])' file