簡體   English   中英

Perl正則表達式可以匹配@字符后的所有內容

[英]Perl Regex to match everything after @ character

我有一堆包含@符號引用的標簽的文本文件。 例如,如果注釋包含@home則該注釋被標記為“ home”。

我試圖找到一個Perl正則表達式,它將匹配@字符之后的所有內容,但不包括@character。

我到目前為止(@\\w+)已經成功地匹配了整個標簽(例如,它匹配@ @home ,@ @work等),但是我找不到修改它的方法,因此只能選擇@字符之后的字符。

我看了一下這個Perl正則表達式,以匹配字符后的所有單詞,但是我似乎無法從中得出結論。

任何幫助都會很棒。

正如@Quentin所說, @(\\w+)是最好的解決方案。

#!/usr/bin/perl

while (<>) {
    while (/@(\w+)/g) {
        print $1, "\n";
    }
}

如果您確實想完全匹配標簽,則可以嘗試使用(?<=@)\\w+ 它匹配@之后的每個字符,但不包括@

#!/usr/bin/perl

while (<>) {
    while (/(?<=@)\w+/g) {
        print $&, "\n";
    }
}

參考: 使用先行查找和后向查找

只需將@移動到捕獲組之外即可:

@(\w+) 

暫無
暫無

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

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