⊗pyPmRESHt 46 of 129 menu

Pythonの正規表現における集合内のキャレット記号

ご存知の通り、[ ] 内のキャレット記号は、 括弧の先頭に書かれると否定を行います。 つまり、これらの括弧内では特殊文字となります。 キャレット記号を文字として扱うには、 エスケープするか、先頭の位置から移動させる必要があります。

次の例では、検索パターンは以下の通りです: 最初の文字は 'd' 以外のすべての文字、 その後ろに 'x' が2文字続く

txt = 'axx bxx ^xx dxx' res = re.sub('[^d]xx', '!', txt) print(res)

結果、変数には次の文字列が格納されます:

'! ! ! dxx'

次に、検索パターンは以下の通りです:最初の 文字は 'd' または '^'、 その後ろに 'x' が2文字続く

txt = 'axx bxx ^xx dxx' res = re.sub('[d^]xx', '!', txt) print(res)

結果、変数には次の文字列が格納されます:

'axx bxx ! !'

キャレット記号を先頭から移動させなくても、 バックスラッシュでエスケープすれば、 文字そのものを意味するようになります:

txt = 'axx bxx ^xx dxx' res = re.sub('[\^d]xx', '!', txt) print(res)

結果、変数には次の文字列が格納されます:

'axx bxx ! !'

実践問題

次の文字列が与えられています:

txt = '^xx axx ^zz bkk @ss'

パターン:キャレット記号またはアットマーク記号、 その後ろにラテン文字が2文字続く に一致する文字列を 検索する正規表現を書いてください。

次の文字列が与えられています:

txt = '^xx axx ^zz bkk @ss'

パターン:キャレット記号でもアットマーク記号でもなく、 その後ろにラテン文字が2文字続く に一致する文字列を 検索する正規表現を書いてください。

次の文字列が与えられています:

txt = '^xx axx ^zz bkk'

パターン:キャレット記号でもスペースでもなく、 その後ろにラテン文字が2文字続く に一致する文字列を 検索する正規表現を書いてください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否