【发布时间】:2016-09-22 07:07:37
【问题描述】:
考虑以下代码:
#! /usr/bin/python
# coding: utf-8
# Prerequisite: sudo easy_install regex
import regex
import sys
import collections
test = True
lines = []
if (test):
test_lines = """
अ पु. संस्कृत वर्णमाला का प्रथम वर्ण [विशेषतया तीन दिन
तक चलने वाले सोम-याग (त्रिरात्र) के प्रथम दिन आज्य
इति”, पञ्च. ब्रा. 2०.14.3।
अंश पु.1 अ. भाग (देवों, पितरों एवं मनुष्यों के लिए नियत)
ऋ.वे. 1०.31.3; अ.वे. 11.1.5;1 ब. पशु-भाग, बौ.श्रौ.सू.
का नाम, ऋ. प्रा. 17.4; निदा.सू. 1०5.2०।
""".split("\n")
lines = test_lines
else:
lines = sys.stdin.readlines()
full_text = "\n".join(lines)
full_text = regex.sub(ur'^(\S+)\s+(पु[ .])', '####\g<1>####\g<1> \g<2>', full_text, flags=regex.UNICODE|regex.MULTILINE)
print(full_text)
我希望上面产生以下输出:
####अ####अपु。 संस्कृत वर्णमाला का प्रथम वर्ण [विशेषतया तीन दिि तक चलने वाले सोम-याग (त्रिरात्र) इति”,पञ्च。 ब्रा。 2०.14.3। ####अंश####अंशपु.1अ。 भाग (देवों, पितरों एवं मनुष्यों के लिए नियत) ऋ.वे。 1०.31.3; अ.वे。 11.1.5;1 分钟。 पशु-भाग, बौ.श्रौ.सू。 कानाम,ऋ。 प्रा。 17.4; निदा.सू。 1०5.2०।但我得到了未更改的文本。
【问题讨论】:
-
您的输入也应该是 Unicode,而不仅仅是模式。见stackoverflow.com/questions/393843/…