[英]Regex with grep - match unknown number of alphabetical characters?
我正在尋找類似的東西:
STRINGONE_****_******_STRINGTWO
我知道STRINGONE和STRINGTWO。 然而, *反映了未知數量的字母(大寫)。
我一直在假設
grep -nr "STRINGONE_\w+_\w+_STRINGTWO" .
會工作,但我找不到比賽。
如何正確地制定這個正則表達式(在cygwin中使用grep)?
看一下手冊。 如果沒有-E
標志, grep
將采用“基本”正則表達式。 在這種情況下,大多數元字符都失去了它們的特殊含義, 除非你逃避它們。 那樣做
grep -nr "STRINGONE_\w\+_\w\+_STRINGTWO"
要么
grep -nrE "STRINGONE_\w+_\w+_STRINGTWO"
或者,因為你只想要大寫字母:
grep -nr "STRINGONE_[A-Z]\+_[A-Z]\+_STRINGTWO"
grep -nrE "STRINGONE_[A-Z]+_[A-Z]+_STRINGTWO"
否則,也可以接受中間包含三個或更多組件的字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.