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() 相比显得笨拙,我可以在其中命名参数并知道它们最终出现在正确的位置。