pattern-matching相关内容

Python对象匹配使用字符串

为什么我找不到匹配项? >>>ti = "abcd">>>tq = "abcdef">>>check_abcd = re.compile('^abcd')>>>如果 check_abcd.search(ti) 是 check_abcd.search(tq):...打印“匹配"... 别的:...打印“不匹配"...不匹配 即使变量 ti 和 tq​​ 匹配并具有相同的引用 >>>打印 c ..
发布时间:2021-06-14 20:24:18 Python

在vim中递归搜索模式的函数

我有一个带有简单文本行的文本文件.我想为 vim(和 gvim)文本编辑器创建一个函数,其中 可以发送可变数量的模式和它应该找到所有模式的行(以任何顺序)并只保留这些行同时删除其余部分. 我在网上搜索并找到了一些有用的链接,但没有一个可以完成上述所有操作: 以下将查找并删除所有不包含该模式的行: :v/pattern/d 可以使用脚本进行多次搜索和突出显示 MultipleSea ..
发布时间:2021-06-14 20:24:16 其他开发

为什么在 case 类的 `unapply` 方法的实现中有一个 `null` 检查?

我正在努力用我自己的实现替换案例类的伴随对象上的 unapply 方法.在调查了与实现 unapply 相关的许多不同切线之后,似乎在大多数情况下都有一个 null 保护,无论是在编译器生成的代码中还是在它的实现中明确地被重新定义.编译器为 unapply 生成的代码看起来与此类似(其中一些使用 eq 而不是 ne): def unapply(location: Location): Optio ..

正则表达式子字符串在字符串的任何位置不匹配

谁能解释为什么下面的代码返回一个空列表: >>>进口重新>>>m = re.findall("(SS){e 我正在尝试在 PSSZ 中找出 SS(并包含最多一个不匹配的可能性)的总出现次数. 我在这里看到了一个类似的代码示例:搜索允许在字符串的任何位置出现一个不匹配的字符串 解决方案 您需要删除范围量词中存在的 e 字符.范围量词必须是 , {n} .重复前一个标记 n ..
发布时间:2021-06-14 20:24:10 Python

正则表达式匹配段落标签之间的文本

我试图只匹配开始/结束段落标签之间的内容.在 RegExr 上使用它,我可以让 匹配开头段落标记,该标记可能有也可能没有任何其他属性,例如类和/或 ID.> 然而,当我尝试将这种模式添加到积极的背后时,它会中断,我不知道为什么.我试过转义 符号,但这似乎没有帮助.然而,展望未来,效果很好. 以下是整个模式的示例: (?).*?(?= ) 我希望能 ..
发布时间:2021-06-14 20:24:01 PHP

scala:匹配对象的类型参数

如果我有一个接受 Type 参数的类,例如 Seq[T] ,并且我有很多这个类的对象.我想根据类型 Argument T 拆分它们 例如: val x = List(Seq[Int](1,2,3,4,5,6,7,8,9,0),Seq[String]("a","b",“C"))x.foreach { a =>一场比赛{case _ : Seq[String] =>打印(“字符串")情况_:Se ..
发布时间:2021-06-14 20:23:53 其他开发

Agda:为什么我无法在 refl 上进行模式匹配?

我试图证明关于整数的可整性.首先,我试图证明可分性是反射性的. ∣-refl : ∀{n} → n ∣ n 因为我定义了基于减法的可分性... data _∣_ : ℤ → ℤ → Set where0∣d : ∀{d} → 零 ∣ dn-d∣d : ∀{n d} → (n - d) ∣ d → n ∣ d ...如果我使用 n-n=0 的事实似乎很容易: ∣-refl {n} 与 n- ..
发布时间:2021-06-14 20:23:48 其他开发

几千字的python正则表达式

我正在尝试使用 python 在字符串中查找某些关键字.字符串是这样的: A 由 B 改为 C 所有我试图找到的是“to C"部分,其中C是数千个单词之一. 此代码构建正则表达式字符串: pre_pad = '到'regex_string = 无因为我的话:如果 regex_string == 无:regex_string = '\\b%s%s(?!-)(?!_)\\b' %(pre_ ..
发布时间:2021-06-14 20:23:45 Python

如何检查字符串是否与 Python 中的设置模式匹配?

我想将一个字符串与特定模式或一组词进行匹配,如下所示: the apple is red 是查询和apple|orange|grape is red|orange|violet 是要匹配的模式.管道将代表可以相互替换的单词.模式也可以像 [launch app]|[start program] 那样分组.无论查询是否与模式匹配,我都希望模块自然地返回 True 或 False. 如果还 ..
发布时间:2021-06-14 20:23:42 Python

Scala:具有可重用条件的模式匹配

考虑这种模式匹配的情况: foo 匹配 {案例 x 如果昂贵的计算(x).nonEmpty =>//用昂贵的计算(x)做一些事情...} 是否可以在 => 之后“标记"或重复使用 expensiveCalculation(x)? 理想情况下,我期待的是: foo 匹配 {案例 x val ec = 昂贵的计算(x);如果 ec.nonEmpty =>//用 ec 做一些事情...} ..
发布时间:2021-06-14 20:23:39 其他开发

如何对包装字符串的枚举变体进行模式匹配?

我有一个枚举: enum T {A(字符串),} 我想匹配这个枚举的一个变量,但这段代码不起作用: 匹配t {T::A("a") =>println!("a"),T::A("b") =>println!("b"),_ =>println!("别的东西"),} 我知道我可以做到这一点,但在我看来它太冗长了: 匹配t {T::A(值) =>匹配值.as_ref() {“一个"=>printl ..
发布时间:2021-06-14 20:23:36 其他开发

正则表达式忽略引号之间的文本

我有一个正则表达式,它是 [\\.|\\;|\\?|\\!][\\s] 这用于拆分字符串.但我不希望它拆分 .;?! 如果它在引号中. 解决方案 我不使用 split 而是使用 Pattern &匹配器代替. 演示: import java.util.regex.Matcher;导入 java.util.regex.Pattern;公共课主要{公共静态无效主(字符串 [] arg ..
发布时间:2021-06-14 20:23:33 Java开发

列出正则表达式匹配的所有模式

我正在寻找一种方法来从有限正则表达式中列出所有可能的模式(没有重复).有资源吗? 解决方案 虽然它不会涵盖一些高级功能,并且有自己的其他警告,Regexp::Genex 似乎与您要寻找的很接近. 还有 PerlMonks 的这个线程,它足够相关(以及解释如何Regexp::Genex 可能不适合你,还有一些自己动手的替代品). 否则,根据 Jeffrey Friedl 的 掌握 ..
发布时间:2021-06-14 20:23:30 Python

'&&x' 模式匹配是否会导致 x 被复制?

在 std 的文档中:iter::Iterator::filter() 它解释了值是通过引用传递给闭包的,并且由于许多迭代器产生引用,在这种情况下传递的值是对引用的引用.它通过使用 &x 模式删除一级间接,或使用 &&x 模式删除二级间接,提供了一些改进人体工程学的建议. 然而,我发现如果被迭代的项目没有实现Copy,则第二个模式不会编译: #[derive(PartialEq)]结构 F ..
发布时间:2021-06-14 20:23:28 其他开发

PostgreSQL 各种清理字符串\varchar

我必须以下列方式清理一些 varchar: 去除特殊字符,如:!、@、#、$、%、^、&、*、(、)、}、{、[、]、“、"、.、?,/, ', 来自封闭列表.我已经通过大量使用 replace\regexp_replace 设法做到了这一点,但我正在寻找类似于 SQL Server 中的东西. 删除以下数字但不删除相邻的数字含义: round 1 -->回合 round1 - ..
发布时间:2021-06-14 20:23:25 其他开发

字符串上的模式匹配

我想知道是否有办法在 c# 7 中做这样的事情 var test = "aaeag";开关(测试){案例 test.StartsWith("a"):休息;默认:休息;} 遗憾的是,这看起来不太可能.这是正确的还是我做错了什么? 解决方案 这在 C# 7 中是可能的,使用 when 保护: var test = "aaeag";开关(测试){case var s when s.Sta ..
发布时间:2021-06-14 20:23:22 C#/.NET

匹配特定条件的流

我正在寻找一个 Java 库,它允许匹配一系列对象,可能与匹配器(例如 hamcrest 的匹配器)混合使用. 理想情况下,我想编写一个测试来检查可迭代对象是否包含一个看起来像正则表达式的序列,但用于对象而不是字符串: assertThat(myList).inSequence(oneOrMore(any()),zeroOrMore(equals(MyObject))); 带验证的 Mo ..
发布时间:2021-06-14 20:23:19 Java开发