【问题标题】:regex to match only English alphabet letter text正则表达式仅匹配英文字母文本
【发布时间】:2019-04-29 23:37:50
【问题描述】:

我正在尝试编写 仅匹配文本 的正则表达式,它由 Python 中超过 3 个字母的英文字母文本组成。我试过了:

 regex = r'[a-z][a-z][a-z]+'

但它不能过滤掉像

这样的字符串
 how@@

任何想法将不胜感激:)

【问题讨论】:

  • 也许 (?:\w{3,}[^a-zA-Z]*)+ ?
  • 除了英文字符之外,您还希望在匹配的字符集中允许什么?
  • @EranMoshe 谢谢!顺便说一句,为什么我的不能过滤掉像'how@@'这样的字符串
  • @PushpeshKumarRajwanshi 它必须是由纯英文字母组成的文本,例如'ajhdjjbbx''common',不需要其他任何东西。:)
  • @XYlaven:您想将输入字符串与正则表达式匹配还是根据您的正则表达式在更大的字符串中查找匹配文本?

标签: python regex nlp


【解决方案1】:

如果您希望您的正则表达式与整个文本完全匹配,您需要使用^(字符串开头)和$(字符串结尾)来确保它与您输入的任何其他内容都不匹配。

对于仅包含英文字符且至少三个字符的匹配字符串,您将需要使用此正则表达式,

^[a-zA-Z]{3,}$

Demo

【讨论】:

    猜你喜欢
    • 2011-04-06
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 2015-06-25
    • 2011-03-05
    相关资源
    最近更新 更多