假设我们有一个字符串:“This is an example.It does not contain space after one sentence.
”
和匹配模式:“(\.|,|:|;|!|\)|\])(\s*)([a-zA-Z]*)
”
此模式适用于标点符号后没有空格或有多个空格可用的任何组合。如果这些条件中的任何一个匹配,它将用\1 \3
替换单个空格。这个的输出将是:This is an example. It does not contain space after one sentence.
(用空格代替)
我的问题是:.It
是我们匹配的字符串及其索引位置但是我们怎样才能在它的位置上得到确切的替代品呢?我想取那个. It
(点空格它)。
注: 请同时考虑一行中多个匹配的情况。
编辑:
输入:This is text.Another text.Next case
输出:[“.other”,“.Next”]
请使用下面的正则表达式
代码
输出
您可以将列出所有单个字符的替换项缩短为字符类
[.,:;!)|\]]
,以匹配列出的字符之一您可以省略
(\s*)
周围的组,因为它将被替换为一个空格,因此您将有2个捕获组,而不是3个如果后面至少有一个字符,可以使用
+
作为量词。如果您使用asterix,它将匹配0+次。如果字符串末尾有一个点,没有任何后续内容,则只需在字符串末尾添加一个空格Regex demoPython demo
要查看被替换的值,可以在组1和组2之间连接一个空格re.findall将返回包含组1和组2的值的元组列表
比如说
输出
相关问题 更多 >
编程相关推荐