ホームページ ウェブフロントエンド jsチュートリアル Linuxでの正規表現の使い方を詳しく解説

Linuxでの正規表現の使い方を詳しく解説

May 25, 2018 am 10:14 AM
linux 表現 詳しい説明

今回は、Linux での 正規表現 の使用について詳しく説明します。 Linux で正規表現を使用する際の 注意事項 について、実際の事例を見てみましょう。

1. 構成

通常の文字: 通常の文字列、特別な意味なし
特殊文字: 正規表現で特別な意味を持つ
正規表現で一般的なメタ文字[特殊文字]

2. POSIX のメタ文字BRE [基本] および ERE [拡張]

: 通常、(...) などの後続の文字の特別な意味を開くまたは閉じるために使用されます [はエスケープ文字であり、記号の特別な意味を削除します 意味、() 、{} などはシェル内で特別な意味を持っています]
と and の違い:

[root@localhost ~]# cat -n test.txt
1 gd
2 god
3
4 good
5 goood
6 goad
7
8 gboad

2.1, .: 任意の 1 文字と一致します (空にすることはできない null を除く)

[root@localhost ~]# grep -n "." test .txt
1 :gd
2:god
4:good
5:good
6:goad
8:gboad
[root@localhost ~]# grep -n "go.d" test.txt
4:good
6:goad

2.2, : o など、前の文字と何度でも一致します。o は、o なしでも、o が 1 つでも、複数でも構いません

[root@localhost ~]# grep -n "*" test .txt
[root@localhost ~]# grep -n "o*" test.txt
1:gd
2:god
3:
4:good
5:good
6:goad
7:
8:gboad
[root @localhost ~]# echo "gbad" >>test.txt
[root@localhost ~]# echo "pbad" >>test.txt
[root@localhost ~]# echo "kgbad" >> ;test.txt
[root@localhost ~]# echo "poad" >>test.txt
[root@localhost ~]# grep -n "go*" test.txt [o は省略可能、o は前g は一致する必要があります]
1:gd
2:god
4:good
5:good
6:goad
8:gboad
9:gbad
11:kgbad

*2.3, .: 任意の文字と一致 (すべて一致) )、空にすることもできます**

[root@localhost ~]# grep -n ".*" test.txt
1:gd
2:god
3:
4:good
5:good
6:goad
7:
8:gboad
9:gbad
10:pbad
11:kgbad
12:poad
[root@localhost ~]# grep -n "go.*" test.txt
2:god
4:good
5:good
6:goad
[root@localhost ~]# grep -n "po.*" test.txt
12:poad
[root@localhost ~]# echo "pgoad" >>
[root@localhost ~]# grep -n "go.*" test.txt [go に一致した後に任意の文字が存在し、空にすることができます]
2:god
4:good
5:good
6:goad
13: pgoad
[root@localhost ~]#
[root@localhost ~]# grep -n "o.*" test.txt
2:god
4:good
5:good
6:goad
8: gboad
12 :poad

2.4, ^:...

[root@localhost tmp]# grep "^root" /etc/passwd
root:x :0:0:root: で始まる次の正規表現と一致します。 /root:/bin/bash
[root@localhost tmp]#

2.5, $:...で終わる直前の正規表現と一致します

[root@localhost tmp]# grep "bash$" / etc/passwd | head -1
root:x:0:0:root:/root:/bin/bash
[root@localhost tmp]#
^$: 空白行を意味します 意味
"#|^$": #

2.6 で始まるコメント行と空白行に一致します。 []: 角かっこ

内の任意の文字に一致します ([sS] など、 s に一致、または S に一致します)。ハイフン (-) を使用して指定できます。ハイフンの範囲 ([(0-9)] など、0 ~ 9 の任意の文字と一致します); [^0-9] 最初の角括弧の位置に ^ 記号が表示されている場合は、そこに含まれていない任意の文字と一致することを意味します。リスト。

[root@localhost tmp]# 猫ホスト
192.168.200.1
192.168.200.3
a.b.123.5
23.c.56.1
1456.1.2.4
12.4.5.6.8
[root@localhost tmp] ] # grep -E ' ([0-9]{1,3}.){3}[0-9]{1,3}' ホスト
192.168.200.1
192.168.200.3
1456.1.2.4
12.4.5.6.8
[root@ localhost tmp]# grep -E '^([0-9]{1,3}.){3}[0-9]{1,3}$' ホスト
192.168.200.1
192.168.200.3
[root@ localhost tmp]#

2.7, ?: 前の文字と 0 回以上一致

[root@localhost ~]# grep -E "go?d" test.txt
gd
god
[root@localhost ~]#
[root@localhost tmp]# cat test
do
does
doxy
[root@localhost tmp]# grep -E "do(es)?" テスト
do
does
doxy
[root@localhost tmp ]#

3. POSIX BRE のみの文字 (Basic Regular)

{n,m}: 間隔式、再現するためにその前の 1 文字と一致します [繰り返し、次の 1 文字は https{0, 1}、つまり s を 0 ~ 1 回繰り返します。 {n} は n 回のマッチングを意味し、{n,m} は n ~ m 回のマッチングを意味し、{n,} は少なくとも n 回のマッチングを意味し、{,m} は最大 m 回のマッチングを意味します。 [エスケープ文字]

4、POSIX ERE (Extended Regular) のみの文字

4.1、{n,m}: BRE の {n,m} と同じ機能

[root@localhost tmp ]# grep -E '^([0-9]{1,3}.){3}[0-9]{1,3}$' ホスト
192.168.200.1
192.168.200.3

4.2 , +:前の正規表現と 1 回以上一致します

[root@localhost ~]# egrep "go+d" test.txt
god
good
good
[root@localhost ~]#

4.3 , |:複数の文字列 [または関係] の一致を示します

[root@localhost ~]# grep -E "3306|1521" /etc/services
mysql 3306/tcp # MySQL
mysql 3306/udp
ncube-lm 1521/tcp # nCube License Manager
ncube-lm 1521/udp # nCube License Manager
[root@localhost ~]#

4.4, ( ) :グループフィルタリング、バックリファレンス

グループフィルタリング

[root@localhost ~] # echo "glad" >> test.txt
[root@localhost ~]# egrep "(la|oo)" test.txt
good
good

( ) 前の一致部分の場合括弧を使用すると、最初の括弧の内容が後の部分で 1 として出力されます。

[root@localhost tmp]# ifconfig |sed -rn 's#.*addr:(.*)(B.*)$#1#gp'

192.168.4.27

5. 正規表現 メタキャラクター

5.1、b: 単語の境界に一致する

[root@localhost tmp]# cat test test

do
[root@localhost tmp]# grep "bdo" test
do
does
doxy
[ root@localhost tmp]# grep "bdoes" test
does
[root@localhost tmp]# grep "bdob" test
do
[root@localhost tmp]#


5.2 B: 単語以外の境界を一致させます。 to b


[root@localhost tmp]# grep "doB" test

does
doxy

agdoeg

[root@localhost tmp]# grep "dob" test
do

[root@localhost tmp]#

5.3、d: [0-9]

5.4 に相当する数字と一致します。D: [^0-9]

5.5 に相当する非数字文字と一致します。w: 文字と数字と一致します。 [A-Za-z0-9_] に相当するアンダースコア

多くのメタキャラクターがあるため、ここではすべてをリストしません

ケース: 起動の効率化

[root@localhost ~]# chkconfig --list | egrep -v "crond|network|rsyslog|sshd|sysstat" | awk '{print "chkconfig",$1,"off"}'|bash

この記事の事例を読んだ後は、この方法を習得したと思います。 php 中国語 Web サイトの他の関連記事にも注目してください。

推奨読書:

JS文字列メソッドを使用する手順の詳細な説明

JS配列メソッドを使用する手順の詳細な説明

以上がLinuxでの正規表現の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Deepseek Webバージョンの入り口Deepseek公式ウェブサイトの入り口 Deepseek Webバージョンの入り口Deepseek公式ウェブサイトの入り口 Feb 19, 2025 pm 04:54 PM

DeepSeekは、Webバージョンと公式Webサイトの2つのアクセス方法を提供する強力なインテリジェント検索および分析ツールです。 Webバージョンは便利で効率的であり、公式ウェブサイトは包括的な製品情報、ダウンロードリソース、サポートサービスを提供できます。個人であろうと企業ユーザーであろうと、DeepSeekを通じて大規模なデータを簡単に取得および分析して、仕事の効率を向上させ、意思決定を支援し、イノベーションを促進することができます。

DeepSeekをインストールする方法 DeepSeekをインストールする方法 Feb 19, 2025 pm 05:48 PM

DeepSeekをインストールするには、Dockerコンテナ(最も便利な場合は、互換性について心配する必要はありません)を使用して、事前コンパイルパッケージ(Windowsユーザー向け)を使用してソースからコンパイル(経験豊富な開発者向け)を含む多くの方法があります。公式文書は慎重に文書化され、不必要なトラブルを避けるために完全に準備します。

gate.ioインストールパッケージを無料で入手してください gate.ioインストールパッケージを無料で入手してください Feb 21, 2025 pm 08:21 PM

Gate.ioは、インストールパッケージをダウンロードしてデバイスにインストールすることで使用できる人気のある暗号通貨交換です。インストールパッケージを取得する手順は次のとおりです。Gate.ioの公式Webサイトにアクセスし、「ダウンロード」をクリックし、対応するオペレーティングシステム(Windows、Mac、またはLinux)を選択し、インストールパッケージをコンピューターにダウンロードします。スムーズなインストールを確保するために、インストール中に一時的にウイルス対策ソフトウェアまたはファイアウォールを一時的に無効にすることをお勧めします。完了後、ユーザーはGATE.IOアカウントを作成して使用を開始する必要があります。

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

Bitget公式ウェブサイトのインストール(2025初心者ガイド) Bitget公式ウェブサイトのインストール(2025初心者ガイド) Feb 21, 2025 pm 08:42 PM

Bitgetは、スポット取引、契約取引、デリバティブなど、さまざまな取引サービスを提供する暗号通貨交換です。 2018年に設立されたこのExchangeは、シンガポールに本社を置き、安全で信頼性の高い取引プラットフォームをユーザーに提供することに取り組んでいます。 Bitgetは、BTC/USDT、ETH/USDT、XRP/USDTなど、さまざまな取引ペアを提供しています。さらに、この取引所はセキュリティと流動性について評判があり、プレミアム注文タイプ、レバレッジド取引、24時間年中無休のカスタマーサポートなど、さまざまな機能を提供します。

OUYI OKXインストールパッケージが直接含まれています OUYI OKXインストールパッケージが直接含まれています Feb 21, 2025 pm 08:00 PM

世界をリードするデジタル資産交換であるOuyi Okxは、安全で便利な取引体験を提供するために、公式のインストールパッケージを開始しました。 OUYIのOKXインストールパッケージは、ブラウザに直接インストールでき、ユーザー向けの安定した効率的な取引プラットフォームを作成できます。インストールプロセスは、簡単で理解しやすいです。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

OUYI Exchangeダウンロード公式ポータル OUYI Exchangeダウンロード公式ポータル Feb 21, 2025 pm 07:51 PM

OKXとしても知られるOUYIは、世界をリードする暗号通貨取引プラットフォームです。この記事では、OUYIの公式インストールパッケージのダウンロードポータルを提供します。これにより、ユーザーはさまざまなデバイスにOUYIクライアントをインストールすることが容易になります。このインストールパッケージは、Windows、Mac、Android、およびiOSシステムをサポートします。インストールが完了した後、ユーザーはOUYIアカウントに登録またはログインし、暗号通貨の取引を開始し、プラットフォームが提供するその他のサービスを楽しむことができます。

See all articles