我不懂Python中的代码。我知道函数的作用,但我不知道这些\\
在替换字符串中是如何做的。在
import re
caps="([A-Z])"
pre="(Mr|mr|Mr|St|st|ST|Mrs|MRS|mrs|Ms|MS|ms|Dr|DR|dr|miss|Miss|MISS)[\.\.\.]"
def tokenize_sentence(text):
text=re.sub(" ?"+pre,"\\1<dot>",text)
text = re.sub(caps + "[.]" + caps + "[.]" + caps + "[.]", "\\1<prd>\\2<prd>\\3<prd>", text)
print(text)
tokenize_sentence("Mr. Ansh sahajpal A.B.C.")
输出为:
^{pr2}$如果你能解释一下\\1
、\\2
和{sub
函数中是如何工作的,那就太棒了。另外,我将输入改为Mr... Ansh sahajpal
,在第5行中我做了以下更改:
text=re.sub(" ?"+pre,"\\1<dot>\\2<dot>",text)
我以为它会替换第一个.
和第二个.
,但它给了我一个错误。
请解释一下就行了。在
\1
、\2
等引用正则表达式中匹配的子表达式(括在括号中)。\1
是第一个匹配的表达式,\2
是第二个表达式,以此类推。它们在替换字符串中用于标记匹配的子表达式要修改的位置。在匹配子表达式的常见约定是使用括号。下面是一个例子:
它表示匹配冒号后面的任意数量的字母数字字符,并生成:
^{pr2}$在本例中,(\w+)是一组字母数字字符的分组表达式,包括“\u”。在
相关问题 更多 >
编程相关推荐