[解決済み] すべての正規表現にマッチするインデックスを見つけるには?
2023-02-24 13:31:56
質問
任意の数の引用文字列を内部に持つ可能性のある文字列を解析しています(私はコードを解析しており、PLY を回避しようとしています)。 私は部分文字列が引用されているかどうかを見つけたいのですが、私は部分文字列のインデックスを持っています。 私の最初の考えは、re を使用してすべてのマッチを見つけ、それらが表すインデックスの範囲を把握することでした。
のような正規表現でreを使用する必要があるように思えます。
\"[^\"]+\"|'[^']+'
(のような正規表現では、reを使うべきだと思います(今のところ、トリプルクォートなどの文字列を扱うのは避けています)。 findall()を使うと、マッチした文字列のリストが得られるので、それはある程度良いのですが、インデックスが必要です。
私の部分文字列は次のような単純なものでしょう。
c
のようなもので、この特定の
c
が実際に引用されているかどうかを把握する必要があります。
どのように解決するのですか?
これは、あなたが望むものです: ( ソース )
re.finditer(pattern, string[, flags])
文字列中のREパターンに対して、重複しない全てのMatchObjectインスタンスの のインスタンスを返す。文字列は は左から右へスキャンされ、マッチは見つかった順に返されます。空の マッチは,他のマッチの先頭に接触しない限り,結果に含まれます。 の先頭に触れない限り、空のマッチは結果に含まれます。
そして、MatchObjectから開始位置と終了位置を取得することができます。
例
[(m.start(0), m.end(0)) for m in re.finditer(pattern, string)]
関連
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] JSで文字列が正規表現にマッチするかどうかをチェックする
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] Pythonの辞書にあるスレッドセーフについて
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Python regex find all overlapping matches?