Python 正则表达式允许使用带撇号但不以“quot;s";

Python 正则表达式允许使用带撇号但不以“quot;s";,python,regex,Python,Regex,我一直在尝试制作一个包含撇号但不以特定字母结尾的正则表达式,例如“s” 到目前为止,我运气不太好,我尝试过: ([a-z])|(?!s\b) 但这似乎并没有产生正确的输出,也不确定您将如何做到这一点 谢谢你的帮助 [a-z']+(? 说明: [a-z']-a-z范围内的任何字符或撇号 +-上述一项或多项 (?-前一个字符不是s \b-单词边界 输入示例: 不匹配以s结尾的单词 匹配项: 不要 比赛 结束 在里面 您可以在左侧和右侧声明空白边界,并在结尾处直接声明左侧没有s (?&

我一直在尝试制作一个包含撇号但不以特定字母结尾的正则表达式,例如“s”

到目前为止,我运气不太好,我尝试过:

([a-z])|(?!s\b)
但这似乎并没有产生正确的输出,也不确定您将如何做到这一点

谢谢你的帮助

[a-z']+(?
说明:

  • [a-z']
    -a-z范围内的任何字符或撇号
    • +
      -上述一项或多项
  • (?-前一个字符不是
    s
  • \b
    -单词边界
输入示例:

不匹配以s结尾的单词
匹配项:

不要
比赛
结束
在里面

您可以在左侧和右侧声明空白边界,并在结尾处直接声明左侧没有
s

(?<!\S)[a-z']+(?!\S)(?<!s)
(?将字符a-z或
匹配1+次。
  • (?!\S)(?在右侧断言空白边界,在左侧断言非
    S

  • 注意这也可以匹配一个独立的

    撇号在哪里?欢迎使用SO!查看and。如果您提供了一个包含一些示例输入(文本)和预期输出(匹配项)的示例,这会有所帮助。您编写的正则表达式甚至不接近,因此它将有助于准确理解您的目的。