0Pricing
Linux Command Line Mastery · レッスン

正規表現(Regex)を使いこなす

高度なパターンマッチングに役立つ正規表現の構文と威力を理解します。

「正規表現(Regex)を使いこなす」はCoddyKit上の無料Linux Command Line Masteryレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLinux Command Line Mastery学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Linux Command Line Masteryコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Intro to Regular Expressions

Welcome to Regular Expressions (Regex)! Regex is a powerful mini-language used for pattern matching in text. It's like a super-charged search tool.

You can use Regex to search, replace, and validate specific text patterns in files or command output. Mastering it will make you much more efficient at the command line!

Matching Exact Text

The simplest Regex matches literal characters. This means the pattern will look for the exact sequence of characters you provide.

For example, searching for apple will only find occurrences of "apple".

echo "I have an apple and a pineapple." | grep 'apple'

Any Single Character: The Dot (.)

The dot (.) is a special character, called a "metacharacter". It matches any single character, except for a newline. Use it when you don't care what character is in a specific spot.

echo "cat, cot, cut, c@t" | grep 'c.t'

Matching Repetition: Quantifiers

Quantifiers let you specify how many times a character or group should appear. These are powerful for flexible matching:

  • *: Matches zero or more occurrences.
  • +: Matches one or more occurrences.
  • ?: Matches zero or one occurrence (makes it optional).
echo "color colour coor" | grep 'colou*r'

Specific Choices: Character Classes

Use square brackets ([]) to match any one character from a specified set. This defines specific options for a single position in your pattern.

For example, [aeiou] would match any single vowel.

echo "grey gray" | grep 'gr[ae]y'

Defining Ranges in Classes

Inside character classes, you can specify ranges of characters using a hyphen (-). This makes your patterns much shorter and easier to read.

  • [0-9]: Matches any digit.
  • [a-z]: Matches any lowercase letter.
  • [A-Z]: Matches any uppercase letter.
  • [a-zA-Z]: Matches any letter (case-insensitive).
echo "num1 num2 numA" | grep 'num[0-9]'

Excluding Characters: Negation

To match any character that is NOT in a specified set, place a caret (^) as the first character inside the square brackets ([^...]).

echo "apple, banana, 123, !@#" | grep '[^a-z]'

Start and End: Anchors

Anchors don't match characters; they match positions. They "anchor" your pattern to the start or end of a line.

  • ^: Matches the beginning of a line.
  • $: Matches the end of a line.

Note: When ^ is used outside of [], it's an anchor, not a negation!

echo -e "start here\n here end\nstart and end" | grep '^start'

Putting It All Together

Let's combine some of these concepts. Imagine you want to find lines that start with a capital letter, followed by any number of lowercase letters, and end with a digit.

echo -e "Hello1\nworld2\nAnotherTest3" | grep '^[A-Z][a-z]*[0-9]$'

Regex Challenge

Consider the following text:

apple apples apply app Apple

Which regular expression would match "apple" and "apples", but NOT "apply", "app", or "Apple"?

Recap: Regex Fundamentals

In this lesson, you've taken your first steps into the powerful world of Regular Expressions! We covered:

  • Literal matching for exact text.
  • The . metacharacter for any single character.
  • Quantifiers (*, +, ?) for repetition.
  • Character classes ([]) and ranges ([a-z]) for specific sets.
  • Negation ([^]) to exclude characters.
  • Anchors (^, $) for start and end of lines.

These are the building blocks for creating sophisticated text patterns. Keep practicing!

よくある質問

「正規表現(Regex)を使いこなす」レッスンは無料ですか?

はい。「正規表現(Regex)を使いこなす」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Linux Command Line Masteryコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Linux Command Line Masteryコースには全4レッスンが含まれています。

「正規表現(Regex)を使いこなす」で何を学びますか?

高度なパターンマッチングに役立つ正規表現の構文と威力を理解します。 ブラウザで直接実行するハンズオンコードでLinux Command Line Masteryを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Linux Command Line Masteryを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLinux Command Line Masteryは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「正規表現(Regex)を使いこなす」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLinux Command Line Masteryレッスンでコードを書いて実行できますか?

はい。すべてのLinux Command Line Masteryレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 正規表現(Regex)を使いこなす
  2. 高度な`grep`と`find`のパターン
  3. コマンド連結のための`xargs`
  4. sed と tr による大規模なストリーム編集
← Linux Command Line Masteryに戻る