Pythonは、文字列を処理するためのすばらしい言語です。Rへの移植を考えているかなり高度な正規表現をいくつか作成しました。Rは最近perl(?P)機能を追加しましたが、Rで次の例を実行するのに最適な方法がわかりません。
import re
pill_unit = r"(?:PILL|CAPSULE)"
dosage = r"""
(?P<pills>
½|
\d+(?:\.\d+|)|
\bONE\b)\s*
{unit}""".format(unit = pill_unit)
compiled_regex = re.compile(dosage, re.VERBOSE)
print(compiled_regex.search("1 PILL A DAY").group("pills"))
sprintf()は、パラメーターに名前を付けて、それらが正しい場所に配置されることを知っている.format()と比較すると不器用に見えます。