Python正規表現【1】
この記事では Python の正規表現について説明します。
これ以上ナンセンスはやめて、最も単純なものから始めましょう:
'.': 改行を除く任意の 1 文字 (ドットのみ) と一致します。
'*' は、前の部分式と 0 回以上一致します (アスタリスクのみ)。
つまり、上記の 2 つの '.*' (ドットスター) の組み合わせは、改行文字を除くすべてに一致します。
「+」: 1 回以上繰り返します。
'?': 0 回または 1 回繰り返します。
'd': 数字と一致します。 [0-9]に相当します。
「w」は、アンダースコアを含む任意の単語文字に一致します。 「[A-Za-z0-9_]」と同等。
「/s」は、スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。 [fnrtv]
と同等 '^' は入力文字列の先頭と一致します。
「$」は入力文字列の末尾と一致します。
上記は非常に一般的に使用されるものですが、もちろん、さらに一般的に使用されるものがたくさんあります。必要に応じてマニュアルを確認してください。
この説明は十分に直観的ではないので、実験してみてください。 Python で正規表現を使用するのは簡単です。インポート re を直接実行するだけです:
>>> import re
>>>
最初にすべてを一致させてみます:
>>> vlan = 'switchport access vlan 612' >>> ljds = re.search('.*',vlan).group() >>> ljds 'switchport access vlan 612'
番号を再度一致させてください:
>>> ljds = re.search('\d',vlan).group() >>> ljds '6'
「/d」は数値に一致するため、ここで 3 つの数値である「612」を一致させたい場合は、「{3}」を追加できます:
>>> ljds = re.search('\d{3}',vlan).group() >>> ljds
'612'
同様に、一致させたい場合は、 13 文字 (スペースを含む):
>>> ljds = re.search('[\w\s]{13}',vlan).group() >>> ljds 'switchport ac'
また、正規表現の量指定子には貪欲モードと非貪欲モードが含まれることにも言及したいと思います。貪欲とは、最大値を取得し、できるだけ多くの一致を照合することです。非貪欲モードはその逆です (デフォルトは貪欲モードです)。例:
上記は 13 文字に一致します。2 ~ 10 文字に一致するように記述されている場合は、次のように記述します。つまり、2 文字に一致するのか、10 文字に一致するのか。デフォルトは貪欲モードなので、最大値と一致します:
>>> ljds = re.search('[\w\s]{2,10}',vlan).group() >>> ljds 'switchport'
非貪欲モード、つまり最小値一致に切り替えるには、量指定子の後に疑問符 '?' を追加します:
>>> ljds = re.search('[\w\s]{2,10}?',vlan).group() >>> ljds 'sw'
次に、「capture」を紹介します。 ":
(exp): 一致するexp。
(?=exp): exp の前の位置と一致します。
(?<=exp): exp の後の位置と一致します。
>>
OK、これを学習した後、前にルーター名を取得した正規表現を見てください:>>> ljds = re.search('(access)',vlan).group() >>> ljds 'access'

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











小さなXMLファイルの場合、注釈コンテンツをテキストエディターに直接置き換えることができます。大きなファイルの場合、XMLパーサーを使用してそれを変更して、効率と精度を確保することをお勧めします。 XMLコメントを削除するときは注意してください。コメントを維持すると、通常、コードの理解とメンテナンスが役立ちます。高度なヒントは、XMLパーサーを使用してコメントを変更するためのPythonサンプルコードを提供しますが、特定の実装を使用するXMLライブラリに従って調整する必要があります。 XMLファイルを変更する際のエンコード問題に注意してください。 UTF-8エンコードを使用して、エンコード形式を指定することをお勧めします。

Mobile XMLからPDFへの速度は、次の要因に依存します。XML構造の複雑さです。モバイルハードウェア構成変換方法(ライブラリ、アルゴリズム)コードの品質最適化方法(効率的なライブラリ、アルゴリズムの最適化、キャッシュデータ、およびマルチスレッドの利用)。全体として、絶対的な答えはなく、特定の状況に従って最適化する必要があります。

XMLコンテンツを変更するには、ターゲットノードの正確な検出が必要であるため、プログラミングが必要です。プログラミング言語には、XMLを処理するための対応するライブラリがあり、APIを提供して、データベースの運用などの安全で効率的で制御可能な操作を実行します。

XMLをPDFに直接変換するアプリケーションは、2つの根本的に異なる形式であるため、見つかりません。 XMLはデータの保存に使用され、PDFはドキュメントを表示するために使用されます。変換を完了するには、PythonやReportLabなどのプログラミング言語とライブラリを使用して、XMLデータを解析してPDFドキュメントを生成できます。

Protobufの文字列定数列挙を定義する問題Protobufを使用する場合、列挙タイプを文字列定数に関連付ける必要がある状況に遭遇することがよくあります...

XML画像を変換するには、最初にXMLデータ構造を決定し、次に適切なグラフィカルライブラリ(PythonのMatplotlibなど)とメソッドを選択し、データ構造に基づいて視覚化戦略を選択し、データのボリュームと画像形式を検討し、バッチ処理を実行するか、効率的なライブラリを使用して、最終的にPNG、JPEG、またはSVGに応じて保存します。

ほとんどのテキストエディターを使用して、XMLファイルを開きます。より直感的なツリーディスプレイが必要な場合は、酸素XMLエディターやXMLSPYなどのXMLエディターを使用できます。プログラムでXMLデータを処理する場合、プログラミング言語(Pythonなど)やXMLライブラリ(XML.ETREE.ELEMENTTREEなど)を使用して解析する必要があります。

携帯電話の高品質でXMLをPDFに変換する必要があります。クラウドでXMLを解析し、サーバーレスコンピューティングプラットフォームを使用してPDFを生成します。効率的なXMLパーサーとPDF生成ライブラリを選択します。エラーを正しく処理します。携帯電話の重いタスクを避けるために、クラウドコンピューティングの能力を最大限に活用してください。複雑なXML構造の処理、マルチページPDFの生成、画像の追加など、要件に応じて複雑さを調整します。デバッグを支援するログ情報を印刷します。パフォーマンスを最適化し、効率的なパーサーとPDFライブラリを選択し、非同期プログラミングまたは前処理XMLデータを使用する場合があります。優れたコードの品質と保守性を確保します。
