正規表現を使用した特殊文字の一致

正規表現を使用した特殊文字の一致

小文字と数字を含むものを探したい場合は簡単です。

テキスト生成| grep -E '[0-9a-z]'

かっこは文字セットを一致させるのに便利ですが、やや特殊な文字はどうですか?
必要に応じて角かっこ一致を使用してください。どの特徴しかし、]閉じ括弧、ダッシュ(またはハイフン) "-"、スラッシュ/\カラット^、コロンのいずれかです:
このように見えます(これがうまくいかないことを知っています)?

[^]-/\^:]

答え1

リテラル]-リテラルと一致します。角かっこ表現次のように使用する必要があります。

[^]/\^:-]

またはより良い理由は一部のツールにはエスケープバックスラッシュが必要です。:

[^]/\\^:-]

それは
右角かっこ( ']' )がリストの最初に表示されると(頭字語 '^'の後に)、特別な意味を失い、角かっこ式で表現されます。
そして
ハイフン減算文字がリストの最初(ある場合は最初の "^"の後)、または最後に表示される場合はその文字自体として扱われます。
だから
角かっこ式が「-」と「]」の両方を指定する場合は、角かっこ式で「]」を最初に配置し(存在する場合は「^」の後に)、「-」を最後に配置する必要があります。
角かっこ式の規則は次のとおりです。むしろそして着替える

答え2

おそらく奇妙なことに、特定の場所には複数のキャラクターが必要です。あなたは]セットの最初のキャラクターでなければならず、セット-の最後のキャラクターでなければなりません。

あなたの要件を満たすREは次のとおりです[^]\^/-]。 ::

echo 'Hello[world]-[sun] ^^ 4/5 or 3\4' | grep -Eo '[^]\^/-]' | xargs
H e l l o [ w o r l d [ s u n 4 5 o r 3 4

関連情報