Python re.sub() 带点
Python re.sub() with dots
我想在文本中的点前后放置一个 space,但前提是它不是日期的一部分。
到目前为止我有这个,我想我必须用 \D 做点什么。但它不仅返回点之前的字母还返回点:
string = re.sub("\.", " . ", string)
例如:
输入文字:1992.01.04是我的生日
要求输出:1992.01.04 is my birthday .
字符串点结束前有一个space
其他问题同冒号和时间,
输入文本:时间是11:48,报告人:Tom.
所需输出:时间为 11:48,报告人:Tom.
在冒号'reported by'之前的文本'reported by'之后有一个space
提前致谢
您可以使用这个正则表达式来检查 dot/colon 是否被数字包围并将其替换为 ' \1 '
(?<!\d\d)([.:])(?!\d+)
演示,https://regex101.com/r/hr6slz/4
此正则表达式适用于冒号和点,您可以将其替换为“\1”
您需要 _ 正面回顾 assertion._(或负面,\d
)。查看 https://docs.python.org/3/library/re.html 了解详情。
re.sub("(?<=\D)\.(\D?)", " . ", '1992.01.04 is my birthday.')
我想在文本中的点前后放置一个 space,但前提是它不是日期的一部分。 到目前为止我有这个,我想我必须用 \D 做点什么。但它不仅返回点之前的字母还返回点:
string = re.sub("\.", " . ", string)
例如:
输入文字:1992.01.04是我的生日
要求输出:1992.01.04 is my birthday .
字符串点结束前有一个space
其他问题同冒号和时间,
输入文本:时间是11:48,报告人:Tom.
所需输出:时间为 11:48,报告人:Tom.
在冒号'reported by'之前的文本'reported by'之后有一个space
提前致谢
您可以使用这个正则表达式来检查 dot/colon 是否被数字包围并将其替换为 ' \1 '
(?<!\d\d)([.:])(?!\d+)
演示,https://regex101.com/r/hr6slz/4
此正则表达式适用于冒号和点,您可以将其替换为“\1”
您需要 _ 正面回顾 assertion._(或负面,\d
)。查看 https://docs.python.org/3/library/re.html 了解详情。
re.sub("(?<=\D)\.(\D?)", " . ", '1992.01.04 is my birthday.')