re.sub と後方参照
次のコードを実行したときの出力として、正しいものを1つ選べ。
import re
print(re.sub(r"(\b[a-z]+) \1", r"\1", "cat in the the hat"))
- A
cat in the the hat - B
cat in hat - C
the - D
cat in the hat
正解と解説を見る
正解:D
re.sub() は、正規表現に一致する部分を置き換え、\1 でとらえたグループを参照できる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import re` | — |
| 2 | `print(re.sub(r"(\b[a-z]+) \1", r"\1", "cat in…` | — |
| 結果 | 実際の出力 | cat in the hat |
- A
誤り。同じ単語が続く部分が置き換えられる。
- B
誤り。重なった「the the」が1つの「the」に置き換えられる。
- C
誤り。re.sub は、置き換えたあとの文字列全体を返す。
- D
正しい。
(\b[a-z]+)でとらえた単語が、空白のあとに同じ単語(\1)として続く部分を、1つの単語に置き換える。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。