`
simohayha
  • 浏览: 1403358 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

今天发现了一个非常有意思的regex

阅读更多
判断一个数是否为质数的方法:

import re
def is_prime(num):
    return not re.match(r"^1?$|^(11+?)\1+$", '1' * num)


在这里转一下一个对这段代码评论
http://blog.csdn.net/g9yuayon/archive/2007/03/19/1533798.aspx

引用

这段代码除了漂亮精巧值得欣赏,以及可以用来玩味理解regex以外,还有什么价值呢?效率?显然不够高。实用性?恐怕也没有多少。不过,这段代码隐含了重要的编程思想:编码。我们可以把一段问题用某种方式表达出来,再根据这段表达谋求解决之道。这种方法看似简单,却应用广泛。我们可以把各式自动机用字符串表示出来,由此相对容易地发现很多深刻的性质。我们把系统规格用状态机描述出来,再把状态机用逻辑公式表达出来,于是我们可以自动验证系统规格有没有逻辑上的缺陷,有没有安全问题。进一步说,我们赖以为生的整个计算体系也是建立编码的基础上:所有的数据所有的命令最终被转换为0和1表示。计算理论基础更离不开编码。从歌德尔定理到图灵机理论到自动机理论到计算复杂性,不知多少伟大的证明依靠编码。
分享到:
评论
1 楼 iaimstar 2009-09-25  
灰常有启发~

相关推荐

    regex.h regex.cpp

    最后,压缩包中的`regex.c`文件可能是另一个C语言的源文件,它可能包含了一些使用`regex.h`中函数的实际示例代码,展示如何在C语言项目中集成和使用正则表达式功能。 总结起来,这个文件组合提供了在Linux下使用...

    正则表达式测试工具regex101

    `regex101`是一个在线的正则表达式测试工具,它允许用户编写、测试和调试他们的正则表达式,以确保它们能够正确地匹配所需的数据。 `regex101`具有以下主要特点: 1. **实时测试**:用户可以在界面上输入正则...

    linux下的C语言POSIX正则表达式头文件和源文件: regex.h regex.cpp

    总之,POSIX正则表达式是C语言编程中的一个重要工具,无论在Linux还是Windows环境下,都可以通过`regex.h`头文件提供的API实现强大的文本匹配功能。了解和掌握这些函数的使用方法,对于提升C/C++程序的文本处理能力...

    Cpp regex usge demo

    在C++中,`std::regex`是一个基本的正则表达式对象,你可以通过构造函数传递一个字符串来创建它,该字符串表示你要匹配的模式。例如,如果你想匹配所有数字,可以这样做: ```cpp std::regex numberRegex("\\d+"); ...

    TestRegex_regex_C#_

    "TestRegex_regex_C#" 这个标题表明我们有一个简单的应用,其目的是测试C#中字符串与正则表达式的匹配。 描述中提到“Simple application for test string regex”,这暗示该程序可能包含一个用户界面,允许用户...

    C++正则表达式-regex类(不依赖其他库)

    这个压缩包文件包含了一个名为`regex.h`的头文件,以及`release`和`debug`两个目录,这通常意味着它提供了编译好的库文件,供不同构建配置(发布模式和调试模式)使用。 `regex`类的核心功能包括: 1. **构造与...

    RegEX Tester下载及使用

    使用RegEX Tester时,无需安装,这意味着它是一个便携式应用,可以直接从存储设备运行,如U盘。这种设计使得RegEX Tester可以在任何装有兼容操作系统的电脑上使用,无需担心系统冲突或留下冗余文件。 总之,RegEX ...

    C++Boost的Regex库用法

    在C++编程中,Boost是一个非常重要的库,它提供了一系列的模板库,让开发变得更加方便和高效。其中,Boost的Regex库是处理文本数据的强大工具,它允许程序员编写正则表达式,以匹配、查找和替换字符串中的特定模式。...

    GNU regex windows编译

    这个压缩包文件似乎包含了一个针对Windows环境的GNU regex编译版本,名为"regex2dll",它可能是一个动态链接库(DLL),方便开发者在Windows平台上集成到自己的项目中使用。 在Windows上编译GNU regex库通常涉及到...

    boost regex 检测 数学公式

    在IT领域,Boost库是一个非常重要的C++工具集,它为开发者提供了许多高效且功能强大的组件,其中之一就是Boost.Regex库。Boost.Regex是用于处理正则表达式的库,它支持高级的匹配模式和字符串搜索操作。在本场景中,...

    Regex Tester

    在.NET框架下,Regex Tester是一个实用的工具,它可以帮助开发者测试和验证自己的正则表达式,确保它们能按照预期工作。下面将详细介绍Regex Tester以及与之相关的正则表达式知识。 1. **Regex Tester的用途** - *...

    regex++ document (boost)

    `regex++`是Boost库的一部分,是一个符合POSIX标准的正则表达式库。Boost库是一个开源的C++库集合,旨在增强C++的标准库,提供更多的实用功能。`regex++`库支持基本和扩展的正则表达式语法,且具有良好的可移植性。 ...

    boost. regex

    Boost.Regex 是Boost库中的一个正则表达式组件,它提供了一系列工具和函数来处理文本中的模式匹配、搜索和替换等操作。Boost.Regex 使用C++标准库中的`<regex>`作为基础,并在其之上添加了更多的功能和便捷性,使得...

    正则表达式工具RegexTester

    正则表达式(Regex)是计算机编程语言中用于处理文本的一种模式匹配工具,它能高效地搜索、查找、替换和提取字符串中的特定...无论是进行简单的文本匹配还是处理复杂的文本分析任务,RegexTester都是一个值得信赖的助手。

    mingw下64位的regex.dll

    64位的regex.dll 在mingw环境下编译成的,大家可以使用

    Regex Expression(正则表达式)

    除了这些具有 regular expression 功能的现成工具外,另外还有一类俱有 regular expression 功能的程式库,可以供程式设计者很容易地在其程式中加入 regular expression 功能。例如 GNU 所发表的 Regex 程式库便是...

    boost regex1_49_0的.hpp文件

    对于需要进行复杂文本处理或数据分析的C++项目来说,Boost.Regex是一个非常有价值的工具。然而,需要注意的是,由于正则表达式本身的复杂性,不当使用可能会导致性能问题或不易调试的代码,因此在编写正则表达式时,...

    正则表达式安全漏洞测试工具SDL Regex Fuzzer

    SDL Regex Fuzzer是一款微软推出的正则表达式测试工具,可以用来发现这些潜在的漏洞。 SDL Regex Fuzzer支持的操作系统: Windows 7;Windows Server 2003;Windows Server 2008;Windows Server 2008 R2;Windows ...

    正则表达式(regex)C语言源码,超强查找/替换算法

    Henry Spencer的regex library是一个经典的正则表达式库,由C语言编写,设计目的是为了提供一个高效且灵活的正则表达式引擎。它支持多种正则表达式语法,包括基本的字符匹配、量词、分组、预查以及更多的高级特性。...

    libboost_regex.zip

    其中,libboost_regex是Boost库中的一个重要组件,专门用于处理正则表达式操作。本文将详细解析libboost_regex在Windows环境下的使用及其实现原理。 首先,libboost_regex是Boost库的一个子集,专注于正则表达式的...

Global site tag (gtag.js) - Google Analytics