パターンを採用する
[UGLER]*
文字列UUGが一致しますか?つまり、重複は許可されますか?
答え1
原則としてそうです。しかし可能使用する正規表現スタイルによって異なります。少なくとも、着替える、むしろそしてポリメラーゼ連鎖反応すべて文字列と一致します。表現の[UGLER]*
意味はU、G、L、E、またはRグループのゼロ個以上の連続した文字と一致します。。
さまざまな正規表現タイプを簡単にテストできます。
着替える
$ echo UUG | grep '[UGLER]*' UUG
むしろ
$ echo UUG | grep -E '[UGLER]*' UUG
ポリメラーゼ連鎖反応
$ echo UUG | grep -P '[UGLER]*' UUG
もちろん、探しているから若いまたはそれ以上の予期しないものとも一致します。
$echo "foobar" | grep '[UGLER]*'
foobar
使用している正規表現スタイルがそれをサポートしている場合は、+
代わりにを使用してください*
。たとえば、PCREを使用します。
$echo -e "UUG\nfoobar" | grep -P '[UGLER]*'
UUG
foobar
$echo -e "UUG\nfoobar" | grep -P '[UGLER]+'
UUG
答え2
パターンが正規表現ではなくファイルグローブパターンであると仮定すると、「UUG」というファイル名と一致します。このパターンは、U、G、L、E、または R で始まるすべてのファイルと一致します。
自分でテストしてみてください。
touch UUG
ls -l [UGLER]*
パターンが正規表現の場合は一致します。どのゼロ個以上の[UGLER]インスタンスと一致するため、文字列です。ゼロ以上ではなく1つ以上を一致させるには、+
代わりに使用してください。*