簡體   English   中英

有沒有辦法用grep從正則表達式組中排除字符的最后一次出現

[英]Is there any way to exclude the last occurence of a character from a regex group with grep

我想寫一個與以下行匹配的正則表達式:

int func ( int argument, char* str)
for( int i = 0; i < 25; i++)
if( true )

但不是那些:

int func (int argument char* str)
for(int i = 0; i i < 25; i++)
if(true)

在litteral中,我想匹配在左括號后面有任何空格的行或在右括號之前的任何空格。

我開始編寫以下正則表達式:

grep -E '[^\(]\( [^ ] \)'

但它不起作用,因為括號之間可能有有效的空格。

我的問題是:有沒有辦法從正則表達式組中排除角色的最后一次出現?

在litteral中,我想匹配在左括號后面有任何空格的行或在右括號之前的任何空格。

您可以使用此grep進行更改:

grep '([[:blank:]]\|[[:blank:]])' file
  • 在默認的grep正則表達式模式(BRE)中,不需要轉義()
  • [[:blank:]]匹配空格或制表符
  • 你需要逃避| 在BRE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM