[解決済み】 正規表現文字列のエスケープ
2022-03-30 18:41:35
質問
ユーザーからの入力を正規表現のパターンとして使用し、あるテキストを検索したいのですが、どうすればいいですか? うまくいくのですが、ユーザーが意味を持つ文字を正規表現に入れた場合、どのように対処すればよいでしょうか?
例えば、ユーザーがWordの検索をしたい場合
(s)
を、正規表現エンジンは
(s)
をグループとして扱います。 文字列のように扱わせたい
"(s)"
. 私は実行することができます
replace
をユーザ入力に置き換えて
(
を
\(
と、その
)
と
\)
しかし、問題は、可能な限りの正規表現シンボルに対して置換を行う必要があることです。
何か良い方法をご存知ですか?
解決方法は?
を使用します。
re.escape()
関数を使用します。
エスケープ(文字列)
正規表現のメタキャラクタを含む任意のリテラル文字列にマッチさせたい場合に有効です。
単純化した例では、与えられた文字列の後に 's' が続くものを検索し、マッチオブジェクトを返します。
def simplistic_plural(word, text):
word_or_plural = re.escape(word) + 's?'
return re.match(word_or_plural, text)
関連
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] \0-9]よりも効率が悪い
-
[解決済み] ユーザー入力文字列を正規表現に変換する
-
[解決済み】文字列をdatetimeに変換する
-
[解決済み】リストの文字列表現をリストに変換する方法は?
最新
-
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サイクルタスクスケジューリングツール スケジュール詳解
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み] データ型が理解できない
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み】ValueError: xとyは同じサイズでなければならない