摩擦正则表达式:匹配一个字符,除非在另一个字符之后

裴贤

我需要找到一个正则表达式,它在不紧跟右括号 ( ')') 的句点上拆分字符串,.在拆分后保留分隔符 ' '。

例如,如果

str = "This is a great (feeling.) thing. It's very interesting."

正则表达式应将其拆分为两个字符串:

["This is a great (feeling.) thing.", "It's very interesting."]

我从尝试这个和交换,但没有成功。

谢谢您的帮助。

布布

我不知道如何保留 '.' 分割后的分隔符,但我知道如何将它们放回去。我也似乎应该删除分隔符后面的空格。

以下正则表达式将拆分以确保 '.' 分隔符后面没有')'。您可能会得到一个额外的空字符串,可以将其删除:

import re

str = "This is a great (feeling.) thing. It's very interesting."
l = re.split(r'\.(?!\))', str)
# results are: ['This is a great (feeling.) thing', " It's very interesting", '']
if len(l[-1]) == 0:
    l.pop(-1) # get rid of last, empty string
l = [s.strip() + '.' for s in l] # get rid of leading and trailing spaces and add back delimiter
print(l)

印刷:

['This is a great (feeling.) thing.', "It's very interesting."]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式是一个字符还是另一个?

来自分类Dev

正则表达式匹配单个字符,后跟一个字符

来自分类Dev

正则表达式删除CR LF,除非最后一个字符是句点?

来自分类Dev

上次出现的字符和另一个字符之间的正则表达式匹配

来自分类Dev

仅当行不包含另一个字符串时,正则表达式才匹配一个字符串

来自分类Dev

正则表达式以匹配2个字符串并包含另一个字符串

来自分类Dev

正则表达式从一个字符串到另一个字符串

来自分类Dev

排除正则表达式匹配的最后一个字符

来自分类Dev

正则表达式表达大写的第一个字符

来自分类Dev

正则表达式来IFF另一个字符串匹配发生多occurances

来自分类Dev

正则表达式负前瞻仅匹配一个字符

来自分类Dev

正则表达式:一个字符的最后一次出现与另一个字符的第一次出现之间的匹配

来自分类Dev

正则表达式:匹配两个字符之间的所有字符,除非也被另一个字符包围

来自分类Dev

正则表达式匹配一个字面模式,后面跟零个或多个字符,再跟另一个字面模式

来自分类Dev

正则表达式以匹配多个字符串之一,然后是另一个字符串

来自分类Dev

匹配正则表达式中的第一个字符?

来自分类Dev

正则表达式排除一个或另一个字符

来自分类Dev

正则表达式匹配一个字符或单个字符的重复

来自分类Dev

正则表达式匹配多个空格,直到一个字符

来自分类Dev

两个可能包含另一个字符串的字符串之间的正则表达式匹配

来自分类Dev

Perl正则表达式-匹配上一个字符

来自分类Dev

一个正则表达式,用于搜索包含一个字符串但不包含另一个字符串的行

来自分类Dev

正则表达式匹配的最后一个字符

来自分类Dev

正则表达式表达大写的第一个字符

来自分类Dev

正则表达式匹配另一个字符串之后出现的字符串

来自分类Dev

如何使用正则表达式从另一个字符串的开头删除多个字符串

来自分类Dev

如何将“一个字符序列与另一个字符序列匹配,可以重复”正则表达式?

来自分类Dev

Oracle - 正则表达式 - 不断减少一个字符以匹配另一列

来自分类Dev

正则表达式匹配行与字符串 AND 没有另一个字符串

Related 相关文章

  1. 1

    正则表达式是一个字符还是另一个?

  2. 2

    正则表达式匹配单个字符,后跟一个字符

  3. 3

    正则表达式删除CR LF,除非最后一个字符是句点?

  4. 4

    上次出现的字符和另一个字符之间的正则表达式匹配

  5. 5

    仅当行不包含另一个字符串时,正则表达式才匹配一个字符串

  6. 6

    正则表达式以匹配2个字符串并包含另一个字符串

  7. 7

    正则表达式从一个字符串到另一个字符串

  8. 8

    排除正则表达式匹配的最后一个字符

  9. 9

    正则表达式表达大写的第一个字符

  10. 10

    正则表达式来IFF另一个字符串匹配发生多occurances

  11. 11

    正则表达式负前瞻仅匹配一个字符

  12. 12

    正则表达式:一个字符的最后一次出现与另一个字符的第一次出现之间的匹配

  13. 13

    正则表达式:匹配两个字符之间的所有字符,除非也被另一个字符包围

  14. 14

    正则表达式匹配一个字面模式,后面跟零个或多个字符,再跟另一个字面模式

  15. 15

    正则表达式以匹配多个字符串之一,然后是另一个字符串

  16. 16

    匹配正则表达式中的第一个字符?

  17. 17

    正则表达式排除一个或另一个字符

  18. 18

    正则表达式匹配一个字符或单个字符的重复

  19. 19

    正则表达式匹配多个空格,直到一个字符

  20. 20

    两个可能包含另一个字符串的字符串之间的正则表达式匹配

  21. 21

    Perl正则表达式-匹配上一个字符

  22. 22

    一个正则表达式,用于搜索包含一个字符串但不包含另一个字符串的行

  23. 23

    正则表达式匹配的最后一个字符

  24. 24

    正则表达式表达大写的第一个字符

  25. 25

    正则表达式匹配另一个字符串之后出现的字符串

  26. 26

    如何使用正则表达式从另一个字符串的开头删除多个字符串

  27. 27

    如何将“一个字符序列与另一个字符序列匹配,可以重复”正则表达式?

  28. 28

    Oracle - 正则表达式 - 不断减少一个字符以匹配另一列

  29. 29

    正则表达式匹配行与字符串 AND 没有另一个字符串

热门标签

归档