[解決済み] 正規表現に最初にマッチした文字列を返します。
2022-08-29 20:54:50
質問
正規表現の最初のマッチを取得したい。
今回は、リストがあります。
text = 'aa33bbb44'
re.findall('\d+',text)
['33', '44']
リストの最初の要素を抽出できた。
text = 'aa33bbb44'
re.findall('\d+',text)[0]
'33'
しかし、それは少なくとも1つのマッチがある場合にのみ動作し、そうでない場合はエラーが発生します。
text = 'aazzzbbb'
re.findall('\d+',text)[0]
IndexError: リストインデックスが範囲外です。
その場合、関数を定義すればいいのですが
def return_first_match(text):
try:
result = re.findall('\d+',text)[0]
except Exception, IndexError:
result = ''
return result
新しい関数を定義することなく、その結果を得る方法はありますか?
どのように解決するのですか?
を埋め込むことができます。
''
を正規表現に埋め込むことができます。
|$
:
>>> re.findall('\d+|$', 'aa33bbb44')[0]
'33'
>>> re.findall('\d+|$', 'aazzzbbb')[0]
''
>>> re.findall('\d+|$', '')[0]
''
また
re.search
も動作します。
>>> re.search('\d+|$', 'aa33bbb44').group()
'33'
>>> re.search('\d+|$', 'aazzzbbb').group()
''
>>> re.search('\d+|$', '').group()
''
関連
-
[解決済み】大文字と数字を含むランダムな文字列の生成
-
[解決済み] 配列内の何かの最初のインデックスを返すNumPy関数はありますか?
-
[解決済み】述語にマッチするシーケンスの最初の要素を探す
-
[解決済み] PHP の preg_match_all() のように、JavaScript の正規表現で複数回マッチさせるにはどうしたらよいですか?
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] バブルソートの宿題
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複