簡體   English   中英

grep的正則表達式 - 匹配未知數量的字母字符?

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

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