Tag: python

为什么一些正则表达式引擎在单个输入字符串中匹配。*两次?

许多正则表达式引擎在单行字符串中匹配.* 两次 ,例如,在执行基于正则表达式的字符串替换时: 根据定义,第一个匹配是整个(单行)字符串,如预期的那样。 在许多引擎中有第二个匹配,即空字符串 ; 也就是说,即使第一个匹配消耗了整个输入字符串, .* 再次匹配,然后匹配输入字符串末尾的空字符串。 注意:要确保只找到一个匹配项,请使用^.* 我的问题是: 这种行为有充分的理由吗? 一旦输入字符串被完全消耗,我就不会期望再次尝试找到匹配项。 除了试验和错误之外,您是否可以从文档/正则表达式方言/标准中收集哪些引擎表现出这种行为? 更新 : revo的有用答案解释了当前行为的方式; 至于潜在的原因 ,请参阅此相关问题 。 表现出行为的语言/平台: # .NET, via PowerShell (behavior also applies to the -replace operator) PS> [regex]::Replace(‘a’, ‘.*’, ‘[$&]’ [a][] # !! Note the *2* matches, first the whole string, then the empty string # Node.js $ node […]

如何检测字符串内相同的部分?

我试图将解码算法想要的问题分解成更小的问题。 这是第一部分。 题: 两个字符串:s1和s2 s1的一部分与s2的一部分相同 空间是分隔符 如何提取相同的部分? 例1: s1 = “12 November 2010 – 1 visitor” s2 = “6 July 2010 – 100 visitors” the identical parts are “2010”, “-“, “1” and “visitor” 例2: s1 = “Welcome, John!” s2 = “Welcome, Peter!” the identical parts are “Welcome,” and “!” 例3 :(澄清“!”示例) s1 = “Welcome, Sam!” […]

访问者模式对动态类型语言有用吗?

访问者模式允许在不扩展对象类的情况下编写对象上的操作。 当然。 但是为什么不编写一个从外部操作我的对象集合的全局函数或静态类呢? 基本上,在像java这样的语言中,出于技术原因需要accept()方法; 但是在一种我可以在没有accept()方法的情况下实现相同设计的语言中,访问者模式是否变得微不足道? 说明:在访问者模式中,可访问的类(实体)有一个方法.accept()其作用是调用访问者的.visit()方法。 我可以看到java示例的逻辑:访问者为它支持的每个可访问类型定义了一个不同的.visit(n)方法,并且必须使用.accept()技巧在运行时选择它们。 但是像python或php这样的语言有动态类型,没有方法重载。 如果我是访问者,我可以在不知道实体的类型甚至方法的完整签名的情况下调用实体方法(例如, .serialize() )。 (这是“双重调度”问题,对吧?) 我知道一个接受方法可以将受保护的数据传递给访问者,但有什么意义呢? 如果数据公开给访问者类,它实际上是类接口的一部分,因为它的详细信息在类之外很重要。 无论如何,公开私人数据从来没有让我感到自己是访客模式的重点。 因此,似乎在python,ruby或php中我可以在访问对象中没有接受方法(并且没有reflection)的情况下实现类似访问者的类,对吧? 如果我可以使用一系列异构对象并在没有“访问”类的任何合作的情况下调用他们的公共方法,那么这仍然应该被称为“访问者模式”吗? 是否存在一些我缺失的模式的本质,或者它是否只是归结为“编写一个从外部操作对象来执行操作的新类”? PS。 我已经看过很多关于SO和其他地方的讨论,但找不到任何解决这个问题的东西。 指针欢迎。

开源Twitter克隆(在Ruby / Python中)

有没有用Ruby或Python编写的生产就绪的开源twitter克隆? 我对function丰富的实现更感兴趣,而不仅仅是像消息一样的Twitter(例如:API,FBconnect,Notifications等) 谢谢 !

寻找有关如何将PDF转换为结构化格式的建议

我想对即将到来的拍卖中列出的一些房产做一些分析。 不幸的是,运营拍卖的城市并没有以结构化格式发布信息,而是提供了700多页的拍卖物业PDF 。 我想知道社区是否有任何关于如何解析所述PDF到结构化格式以插入数据库或创建属性的电子表格的想法。 这是每个页面代表的图像: 这是一个列出一些属性的页面: 我对python和ruby很满意所以我没有任何问题编写解决方案,但因为“列”和那些列中的数据没有必要绑在一起,看起来这可能是一个可疑的命题。 任何想法将不胜感激。

为C ++选择嵌入式脚本语言

我想选择一种我将在C ++上使用的嵌入式脚本语言。 它应该连接Oracle等数据库。 我的主机应用程序是服务器应用程序 这会将原始数据传递给脚本。 该脚本将解析并执行一些特定的逻辑。 还更新数据库。 然后脚本将返回原始数据作为结果。 你能帮我选择吗? 感谢名单

将URL输出的JSON保存到文件中

如何将URL输出的JSON保存到文件中? 例如来自Twitter搜索API(此http://search.twitter.com/search.json?q=hi ) 语言并不重要。 编辑//我如何向EOF追加更新? 编辑2 //真的很棒的答案,但我接受了我认为最优雅的那个。

脚本编写HTTP更有效

通常我想自动化http查询。 我目前使用Java(和commons http客户端),但可能更喜欢基于脚本的方法。 一些非常快速和简单的东西。 在哪里我可以设置标题,转到页面而不用担心设置整个OO生命周期,设置每个标题,调用html解析器…我正在寻找任何语言的解决方案,更喜欢脚本

如何在Python中解密AWS Ruby客户端加密

AWS的S3 SDK for Ruby允许对文件进行客户端(“信封”)加密。 它是客户端密钥的AES CBC / ECB加密的组合,其中包络密钥和初始化向量存储在元数据中。 我有一个Ruby开发人员,它已经加密了S3存储桶中的各种文件,我需要使用Python检索和解密。 Python S3 AWS SDK目前没有此客户端function。 假设使用Ruby bucket.write S3 API的encryption_key参数加密文件: #!/usr/bin/ruby # coding: utf-8 require ‘aws-sdk’ require ‘openssl’ access_key = ” secret_access_key = ” encryption_key = “passwordpassword” s3 = AWS::S3.new storage_host = “our_bucket” storage_path = “prod/master_report/test.txt” bucket_obj = s3.buckets[storage_host].objects[storage_path] bucket_obj.write(file: ‘test.txt’, encryption_key: encryption_key) 有没有办法用Python解密文件而不是使用Ruby SDK?

将一行字符串分隔成单独的行

Email,Division,Department 预期产量: Email,Division,Department