[英]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.