Pythonの正規表現で特定の文字から始まり、特定の文字で終わる部分をマッチさせる方法
文字列「TestCountry Hello」が与えられているとします。この文字列のうち、「T」で始まり「y」で終わる部分を抽出して表示するには、reモジュールのfindallメソッドを使用します。正規表現パターンには、単語境界のアンカー「\b」と、空白以外の任意の文字を表す「\S」を組み合わせます。
コード例
import re result = re.findall(r"\bT\S+y\b", 'TestCountry Hello') print(result)
実行結果
上記のコードを実行すると、次の出力が得られます。
['TestCountry']
パターンの解説
使用した正規表現パターン「\bT\S+y\b」の各要素は、それぞれ以下の役割を持っています。
- \b:単語の境界(単語の先頭または末尾の位置)にマッチします。
- T:対象となる単語が「T」で始まることを指定します。
- \S+:空白以外の文字が1回以上連続する部分にマッチし、単語の中間部分を吸収します。
- y\b:「y」で終わり、その直後が単語の境界であることを保証します。
このように、単語の両端を「\b」で固定しながら中間を「\S+」で表現することで、「特定の文字で始まり、特定の文字で終わる単語」を正確に抽出できます。「Hello」のように条件を満たさない単語は自動的に除外される点もポイントです。
なお、Python 3ではprintは関数として扱われるため、必ず「print(result)」のように括弧を付けて呼び出してください。
-
TensorFlowと事前学習済みモデルを使ってPythonでデータを可視化する方法
TensorFlowと事前学習済みモデルを組み合わせることで、matplotlibライブラリを使用してデータを簡単に可視化できます。グラフの描画には「plot」メソッドを使い、学習の進捗や精度の推移をコンソール上で確認できます。関連記事: TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組み転移学習(Transfer Learning)の基本少なくとも1つの畳み込み層(Convolutional Layer)を含むニューラルネットワークは、畳み込みニューラルネットワーク(CNN)と呼ばれ、学習モデルの構築に広く活用されています。本記事で
-
SciPyを使ってPythonで行列の固有値・固有ベクトルを計算する方法
固有ベクトルと固有値は、さまざまな場面で活用されている重要な概念です。「Eigen(アイゲン)」という言葉はドイツ語で「固有の」「典型的な」を意味し、固有ベクトルは「特性ベクトル」と呼ばれることもあります。たとえば、データセットに何らかの変換を加えたいものの、「データの方向は変えたくない」という条件がある場合、固有ベクトルと固有値が役立ちます。 正方行列(行数と列数が等しい行列)に対して、固有値と固有ベクトルは次の式を満たします。 固有ベクトルは、まず固有値を求めた後に計算されるのが一般的です。 注意 − 固有値は、3次元以上の高次元でも問題なく機能します。 こうした数学的計算を手作業で行