正则表达式:删除所有在字母之间不加撇号的特殊字符

斯特凡诺·波特

我有一个像这样的字符串:

s = "i'm sorry, sir, but this is a 'gluten-free' restaurant. we don't serve bread."

我正在尝试使用re.sub将所有字母之间不能用撇号代替的特殊字符替换为空格,因此“无面筋”变为无面筋,我将保持原样。

我已经试过了:

import re

s = re.sub('[^[a-z]+\'?[a-z]+]', ' ', s)

我要说的是用0或一个撇号,然后是一个或多个带空格的字母替换不遵循一个或多个字母的模式的任何内容。

这将返回相同的字符串:

i'm sorry, sir, but this is a 'gluten-free' restaurant. we don't serve bread.

我想拥有:

i'm sorry  sir  but this is a  gluten free  restaurant  we don't serve bread 
阿努巴瓦

您可以将此正则表达式与嵌套的lookahead + lookbehind一起使用:

>>> s = "i'm sorry, sir, but this is a 'gluten-free' restaurant. we don't serve bread."
>>> print ( re.sub(r"(?!(?<=[a-z])'[a-z])[^\w\s]", ' ', s, flags=re.I) )
i'm sorry  sir  but this is a  gluten free  restaurant  we don't serve bread

正则演示

正则表达式详细信息:

  • (?!:开始否定先行
    • (?<=[a-z]):肯定地说我们在前面的位置有一个字母
    • ':匹配撇号
    • [a-z]:比赛信 [a-z]
  • ):结束负前瞻
  • [^\w\s]:匹配不是空格和单词字符的字符

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式以获取撇号之间的所有内容,但不返回撇号

来自分类Dev

正则表达式以获取撇号之间的所有内容,但不返回撇号

来自分类Dev

R正则表达式删除除字母,撇号和指定的多字符字符串以外的所有字符

来自分类Dev

使用Perl正则表达式删除引号和撇号的所有变体

来自分类Dev

带有美式键盘中所有特殊字符的字母数字正则表达式

来自分类Dev

R正则表达式删除撇号,但前面和后面的字母除外

来自分类Dev

仅字母,下划线,连字符,撇号的正则表达式

来自分类Dev

仅字母,下划线,连字符,撇号的正则表达式

来自分类Dev

正则表达式获取所有字母字符

来自分类Dev

如何在python中使用正则表达式删除字母以外的所有字符

来自分类Dev

正则表达式删除数字以外的所有特殊字符?

来自分类Dev

正则表达式删除所有前导和尾随的特殊字符吗?

来自分类Dev

正则表达式删除所有字符

来自分类Dev

正则表达式删除设置字符之间的所有文本

来自分类Dev

需要一个可以验证带有特殊字符(连字符、撇号等...)的名称的 python 正则表达式

来自分类Dev

用于“空格”,“破折号(-)”,“撇号(')”和“字母”的正则表达式

来自分类Dev

正则表达式,用于包含零或一个撇号的字母数字字符串

来自分类Dev

正则表达式删除字母数字之间的破折号

来自分类Dev

匹配1个字母,1个数字并允许所有特殊字符的正则表达式

来自分类Dev

jQuery字母数字(+特殊字符)正则表达式

来自分类Dev

正则表达式 - 被字母或空格包围的特殊字符

来自分类Dev

如何使用正则表达式从字符串中删除所有非字母数字字符(“#”除外)?

来自分类Dev

正则表达式删除非字母数字字符和点后的所有字符?

来自分类Dev

R-使用正则表达式删除所有字符串,特殊字符和模式结尾元素

来自分类Dev

抓取n个字母词不算撇号正则表达式

来自分类Dev

正则表达式:删除 html 标签上的重复双引号(撇号)(来自字符串)

来自分类Dev

Python正则表达式:删除单词中未附加的所有特殊字符和数字

来自分类Dev

如何使用正则表达式匹配没有任何字母,数字或特殊字符的单词?

来自分类Dev

正则表达式,带有数字和特殊字符,但不包含字母

Related 相关文章

  1. 1

    正则表达式以获取撇号之间的所有内容,但不返回撇号

  2. 2

    正则表达式以获取撇号之间的所有内容,但不返回撇号

  3. 3

    R正则表达式删除除字母,撇号和指定的多字符字符串以外的所有字符

  4. 4

    使用Perl正则表达式删除引号和撇号的所有变体

  5. 5

    带有美式键盘中所有特殊字符的字母数字正则表达式

  6. 6

    R正则表达式删除撇号,但前面和后面的字母除外

  7. 7

    仅字母,下划线,连字符,撇号的正则表达式

  8. 8

    仅字母,下划线,连字符,撇号的正则表达式

  9. 9

    正则表达式获取所有字母字符

  10. 10

    如何在python中使用正则表达式删除字母以外的所有字符

  11. 11

    正则表达式删除数字以外的所有特殊字符?

  12. 12

    正则表达式删除所有前导和尾随的特殊字符吗?

  13. 13

    正则表达式删除所有字符

  14. 14

    正则表达式删除设置字符之间的所有文本

  15. 15

    需要一个可以验证带有特殊字符(连字符、撇号等...)的名称的 python 正则表达式

  16. 16

    用于“空格”,“破折号(-)”,“撇号(')”和“字母”的正则表达式

  17. 17

    正则表达式,用于包含零或一个撇号的字母数字字符串

  18. 18

    正则表达式删除字母数字之间的破折号

  19. 19

    匹配1个字母,1个数字并允许所有特殊字符的正则表达式

  20. 20

    jQuery字母数字(+特殊字符)正则表达式

  21. 21

    正则表达式 - 被字母或空格包围的特殊字符

  22. 22

    如何使用正则表达式从字符串中删除所有非字母数字字符(“#”除外)?

  23. 23

    正则表达式删除非字母数字字符和点后的所有字符?

  24. 24

    R-使用正则表达式删除所有字符串,特殊字符和模式结尾元素

  25. 25

    抓取n个字母词不算撇号正则表达式

  26. 26

    正则表达式:删除 html 标签上的重复双引号(撇号)(来自字符串)

  27. 27

    Python正则表达式:删除单词中未附加的所有特殊字符和数字

  28. 28

    如何使用正则表达式匹配没有任何字母,数字或特殊字符的单词?

  29. 29

    正则表达式,带有数字和特殊字符,但不包含字母

热门标签

归档