@@ -1975,6 +1975,9 @@ msgid ""
19751975" ``word`` have a word boundary on either side. This takes the job beyond "
19761976":meth:`!replace`'s abilities.)"
19771977msgstr ""
1978+ "一つの例としては、単一の固定文字列を別の固定文字列に置き換える作業があるでしょう; 例えば ``word`` を ``deed`` で置換したい場合です。\n"
1979+ ":func:`re.sub` はこの目的で使う関数のように思えますが、 :meth:`~str.replace` メソッドを利用することを考えた方がいいでしょう。\n"
1980+ ":meth:`!replace` は単語内の ``word`` も置換し、 ``swordfish`` を ``sdeedfish`` に変えますが、安直な正規表現 ``word`` も同様に動作することに注意して下さい。(単語の一部に対する置換の実行を避けるには、パターンを ``\\ bword\\ b`` として、 ``word`` の両側に単語の境界が要求されるようにします。これは :meth:`!replace` の能力を越えた作業です。)"
19781981
19791982#: ../../howto/regex.rst:1251
19801983msgid ""
@@ -1984,6 +1987,9 @@ msgid ""
19841987" capable of doing both tasks and will be faster than any regular expression "
19851988"operation can be."
19861989msgstr ""
1990+ "別のよくある作業は、文字列の中に出現する文字を全て削除することと、別の文字で置換することです。この作業を ``re.sub('\\ n', ' ', "
1991+ "S)`` のようにして行うかもしれませんが、 :meth:`~str.translate` "
1992+ "は削除と置換の両方の作業をこなし、正規表現操作よりも高速に行うことができます。"
19871993
19881994#: ../../howto/regex.rst:1257
19891995msgid ""
@@ -2004,12 +2010,15 @@ msgid ""
20042010"start at 0; if the match wouldn't start at zero, :func:`!match` will *not* "
20052011"report it. ::"
20062012msgstr ""
2013+ ":func:`~re.match` 関数は文字列の先頭に正規表現がマッチするかどうか調べるだけですが、その一方 :func:`~re.search` はマッチするために文字列の先の方まで走査します。\n"
2014+ "この違いを覚えておくことは重要なことです。\n"
2015+ ":func:`!match` は開始位置0でマッチが成功したときのみ報告する; もし開始位置0でマッチしなければ、 :func:`!match` はそれを報告 *しない* 、ということを覚えておいてください。 ::"
20072016
20082017#: ../../howto/regex.rst:1275
20092018msgid ""
20102019"On the other hand, :func:`~re.search` will scan forward through the string, "
20112020"reporting the first match it finds. ::"
2012- msgstr ""
2021+ msgstr "一方 :func:`~re.search` は文字列の先の方まで走査し、最初にみつけたマッチを報告します。:: "
20132022
20142023#: ../../howto/regex.rst:1283
20152024msgid ""
@@ -2066,6 +2075,9 @@ msgid ""
20662075"The final match extends from the ``'<'`` in ``'<html>'`` to the ``'>'`` in "
20672076"``'</title>'``, which isn't what you want."
20682077msgstr ""
2078+ "正規表現は ``'<html>'`` 内の ``'<'`` にマッチし、 ``.*`` は残りの文字列の全てにマッチします。\n"
2079+ "しかし、正規表現には依然として残っている部分があって、 ``>`` は文字列の終端にマッチしないので、正規表現エンジンは一文字ずつ ``>`` とマッチするまで引き返すことになります。\n"
2080+ "最終的にマッチする領域は ``'<html>'`` の ``'<'`` から ``'</title>'`` の ``'>'`` まで広がりますが、これは望んだ結果ではありません。"
20692081
20702082#: ../../howto/regex.rst:1321
20712083msgid ""
@@ -2112,6 +2124,8 @@ msgid ""
21122124"regular expression can be helpful, because it allows you to format the "
21132125"regular expression more clearly."
21142126msgstr ""
2127+ "そのような正規表現に対しては、正規表現をコンパイルする時に :const:`re.VERBOSE` "
2128+ "フラグを指定することが助けになります。なぜなら、より明確な書式で正規表現を書けるからです。"
21152129
21162130#: ../../howto/regex.rst:1349
21172131msgid ""
@@ -2155,3 +2169,8 @@ msgid ""
21552169"edition covered Python's now-removed :mod:`!regex` module, which won't help "
21562170"you much.) Consider checking it out from your library."
21572171msgstr ""
2172+ "O'Reilly から出版されている Jeffrey Friedl の Mastering Regular Expressions "
2173+ "は正規表現に関するほぼ完璧な書籍です (訳注 日本語訳「詳説 正規表現」が出版されています) 。不幸なことに、この本は Perl と Java "
2174+ "の正規表現を集中して扱っていて、 Python の正規表現については全く扱っていません、そのため Python "
2175+ "プログラミングのためのレファレンスとして使うことはできません。 (第一版はいまや削除された Python の :mod:`!regex` "
2176+ "モジュールについて扱っていましたが、これはあまり役に立たないでしょう。) 図書館で調べるのを検討してみましょう。"
0 commit comments