在模式中匹配正则表达式模式

2024-01-27

Folks,

我必须匹配以下模式:

第一个字母必须是 N 第二个除 P 之外的任意字母 第三个必须是S或T 第四个是除 P 之外的任何字母。

字符串只有大写字母,没有数字、空格等。

所以使用 python 这就是我到目前为止得到的:

import re
strRegex = r"N[^P][ST][^P]"
objRegex = re.compile(strRegex)

print objRegex.findall('NNSTL')

这将打印:NNST

我期望的是:NNST 和 NSTL

Thanks


re.findall 只会返回不重叠的匹配项

尝试这个:

    >>> strRegex = r"N[^P][ST][^P]"
    >>> regex = compile(strRegex)
    >>> def newfind(regex,str,pos=0):
    ...    result=regex.search(str,pos)
    ...    if result is None: return []
    ...    else: return [result.group()]+newfind(regex,str,result.start()+1)
    ...
    >>>
    >>> newfind(regex,'NNSTL')
    ['NNST', 'NSTL']

参考:https://mail.python.org/pipermail/tutor/2005-September/041126.html https://mail.python.org/pipermail/tutor/2005-September/041126.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在模式中匹配正则表达式模式 的相关文章

随机推荐

  • 从抽屉导航器导航到特定选项卡

    是否可以将选项卡导航器嵌套在抽屉导航器中 然后从抽屉导航到特定选项卡 考虑这个非常基本的设置 const PrimaryNav createBottomTabNavigator ScreenOne ScreenTwo export cons
  • pickerView 显示为问号而不是数据?

    我正在尝试向我的 iphone 应用程序添加一个 pickerview 但它不是显示数组中的字符串 而是显示问号 有谁知道为什么 在过去的一个小时里我一直在试图弄清楚 这是我包含 pickerview 的控制器的代码 class NewIs
  • 为什么 WCF 客户端没有收到 SOAP 错误作为FaultException?

    我正在使用 WCF 客户端来使用非 WCF SOAP 1 2 Web 服务 当收到如下所示的 SOAP 错误时 我收到的是 ProtocolException 而不是FaultException 通信绑定没有问题 请求正在成功处理 但我无法
  • 从命令行执行python程序,无需脚本文件

    我想在远程服务器上执行 python 程序 而不创建脚本 远程服务器不允许我在文件系统上的任何位置创建任何文件 python程序具有以下结构 尽管功能要复杂得多 def test2 print test2 def test func tes
  • 这个部门有什么问题吗? [复制]

    这个问题在这里已经有答案了 这是代码 class testsum public static void main String arg double sum 0 double fraction fraction 1 9 System out
  • 虚拟机 Ubuntu 上的 NASM:无法执行二进制文件 exec 格式错误

    组装简单的 64 位 hello world 程序后出现错误 我正在使用以下命令 nasm f elf64 hello asm o hello o successfull ld o hello o hello m elf x86 64 su
  • 如何在 do_deploy() 之后添加任务?

    我写了一个食谱 我想在之后执行任务do deploy inherit deploy do deploy echo do deploy has been called addtask deploy after do compile do af
  • SQL Server TOP 一旦找到足够的行就会停止处理吗?

    当您使用 SQL Server 时TOP查询中的子句 一旦 SQL Server 引擎有足够的行来满足条件 它是否会停止搜索行TOP X需要退货吗 考虑以下查询 假设 some text field 是唯一的并且未设置全文索引 SELECT
  • 将多个范围复制到数组中而不循环

    我想将数据从单独的范围复制到数组中而不循环 以下方法仅使用 rng1 中的数据填充数组 Dim rng1 As Range rng2 As Range rng3 As Range rngMerge As Range Dim tmpMatri
  • Leaflet React在功能组件中获取地图实例

    我想要在地图外有一个按钮 将视图更改为另一个坐标 有没有办法让mapContainer实例调用它们的函数 或者说如何实现这个功能呢 我尝试使用 ref 来获取它 但它不起作用 这是我当前的代码 const zoom 13 function
  • 截断 p:dataTable 中的大文本值并导出包含全文的表

    我正在使用 Primefaces 3 5 和 JSF 2 并且有一个dataTable
  • 如何在非线程对象上调用 wait() 和 notification() 方法?

    怎样才能wait and notify 在非线程的对象上调用方法 这确实没有意义 不是吗 不过 这肯定是有意义的 因为这两种方法可用于所有 Java 对象 有人可以提供解释吗 我无法理解如何使用线程之间进行通信wait and notify
  • 南迁DateField到IntegerField

    我想改变我的模型 class Source models Model release date models DateField to class Source models Model release date models Intege
  • 如何在Vert.x中运行多个顶点?

    我是 Vert x 的新手 我想通过 jar 运行多个 verticle 我有两个文件 一个是 MyFirstVertice java 它路由路径 q1 并返回一些东西 第二个是 MySecondVertice java 它路由路径 q2
  • Gitlab-CI:跨服务通信

    我目前正在使用 Gitlab CI 来测试基于 jboss eap 的 java 应用程序 更准确地说 我正在使用 Postman 的 newman 工具在我的所有控制器上运行一些 REST API 测试 目前 我使用外部 EAP 服务器执
  • eclipse中Tomcat上使用JDBC for MYSQL时出现classNotFound异常

    这似乎是一个常见问题 但我找不到有效的解决方案 我已经浏览了几十条线索并一直在和我的老师一起工作 我正在尝试使用 JDBC 连接到 MYSQL 我还使用 tomcat 服务器并运行 xubuntu 12 04 我收到 ClassNotFou
  • POD 对象向量的内存布局

    假设我有一个简单的 C 类 class Data public float data 3 void clear data 0 0 0f data 1 0 0f data 2 0 0f 和数据的向量 std vector
  • ELKI:在 Java 中的自定义对象上运行 DBSCAN

    我正在尝试在 JAVA 中使用 ELKI 来运行 DBSCAN 为了进行测试 我使用了 FileBasedDatabaseConnection 现在我想使用我的自定义对象作为参数来运行 DBSCAN 我的对象具有以下结构 public cl
  • IE9 传递的 If-Modified-Since HTTP 标头包含长度?

    请澄清这个奇怪的事情If Modified SinceIE9 传递的标头 在我的 ASP NET 4 0 Web 应用程序中 我有一个通用处理程序 ashx 它为存储在数据库中的图像提供服务 为了提高效率 我正在处理一些与缓存相关的标头并传
  • 在模式中匹配正则表达式模式

    Folks 我必须匹配以下模式 第一个字母必须是 N 第二个除 P 之外的任意字母 第三个必须是S或T 第四个是除 P 之外的任何字母 字符串只有大写字母 没有数字 空格等 所以使用 python 这就是我到目前为止得到的 import r