问题标签 [pattern-matching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1890 浏览

python - Python文件操作

假设我有这样的文件夹

所以在我的根文件夹下,每个目录代表一个像 01 02 03 这样的月份,在这些目录下我有创建时间和项目名称的项目,例如 16_item1.xml、24_item1.xml 等,你可能会猜到有几个项目和每个 xml每小时创建一次。

现在我想做两件事:

  • 我需要生成一个月的项目名称列表,即对于 01,我有 item1、item2 和 item3 里面。

  • 我需要过滤每个项目,例如 item1:我想从 01_item1.xml 到 24_item1.xml 读取每个项目。

如何以简单的方式在Python中实现这些?

0 投票
2 回答
1610 浏览

php - 在 PHP 中获取与通配符匹配的字符串

我需要一个非常具体的 PHP 函数。基本上,我有两个字符串作为参数,其中一个是包含可变长度 (*) 通配符的模式,其中一个是与该模式匹配的字符串。我需要从填充模式中的通配符的后一个字符串中获取一个字符串数组。

例如:

  • 论据 1:“这是 * 我 * 的字符串”
  • 论点 2:“这是我自己创建的很棒的字符串”
  • 返回:数组(“我的真棒”,“创造了我自己”)

最干净的方法是什么?请记住,这些并不总是像示例中那样的英文单词字符串,它们可以是任何随机字符。

0 投票
1 回答
1097 浏览

haskell - Haskell 中的模式匹配数据类型。捷径?

在下面的 Haskell 代码中,如何写得更简洁?是否有必要列出所有四个条件,或者可以用更紧凑的模式来概括这些条件?例如,有没有一种方法可以利用 Haskell 已经知道如何添加浮点数和整数,而无需手动指定fromIntegral

0 投票
2 回答
3282 浏览

mysql - MySQL字符串匹配多个单词

这一页

有一个很好的例子,使用 REGEXP 进行模式匹配。REGEXP 的问题与以下字符串不匹配:

  • “约翰先生”
  • “约翰博士”
    甚至:
  • “约翰·多伊先生”

带有字符串“John Doe”

我想知道如何获得任何给定示例的正匹配?

这是一个示例代码:

-谢谢

更新:感谢您的回答,问题不是如何使用正则表达式来进行我想要的匹配,而是无论REGEXP如何我都可以做到这一点。我使用 REGEXP 作为模式匹配的示例。我很欣赏对正则表达式的澄清。

0 投票
3 回答
7565 浏览

list - 是否可以与 F# 中的分解序列匹配?

我似乎记得旧版本的 F# 在匹配序列时允许结构分解,就像列表一样。有没有办法在保持序列惰性的同时使用列表语法?我希望避免大量调用 Seq.head 和 Seq.skip 1。

我希望有类似的东西:

但这仅处理列表并在使用序列时给出类型错误。使用 List.of_seq 时,它似乎评估了序列中的所有元素,即使它是无限的。

0 投票
5 回答
3070 浏览

regex - 使用 Sed 删除前导和尾随空格的问题

我正在使用以下代码从文件 A.txt 的所有行中删除前导和尾随空格

问题出现在开头或结尾有 at 的行上。例如,以字符串“timezone”开头的原始行变为“imezone”

你能告诉我这里发生了什么吗?以及是否有已知的问题解决方案。

提前致谢。

0 投票
1 回答
15810 浏览

jquery - 使用 jQuery 获取所有 mailto 链接

我需要一个模式来遍历文档并获取所有在其 href 中包含 mailto 的链接:

我当然可以轻松获取所有a元素 ( $("a")) 并检查每个href属性以查看它是否指向 mailto,但我认为 jQuery 具有某种形式的模式匹配,可以让我做到这一点。

实现这一目标的最佳方法是什么?

0 投票
2 回答
1787 浏览

grep - GREP - 查找所有出现的字符串

我的任务是给应用程序贴上白标签,使其不包含对我们公司、网站等的引用。我遇到的问题是我有许多不同的模式要寻找,并希望保证所有模式都被删除。由于该应用程序不是内部(完全)开发的,我们不能简单地在 messages.properties 中查找事件并完成。我们必须通过 JSP、Java 代码和 xml。

我正在使用 grep 来过滤这样的结果:

当我在命令行上使用它们时,这些模式被转义了;但是,我不觉得这种模式匹配非常健壮。可能会出现导入(不太可能)甚至 /*(javadoc 注释的开头)的事件。

所有输出到屏幕的文本必须来自某处的字符串声明或常量文件。所以,我可以假设我会找到类似的东西:

我想找到这种情况以及:

或者,如果我们有一个内部爬虫/自动化测试,我可以简单地从每个页面拉回 xhtml 并检查源代码以确保它是干净的。

0 投票
2 回答
251 浏览

php - 匹配数组的模式,而不是它们本身的元素

我正在寻找一种模式匹配数组的“几何”的方式,即元素出现的顺序,而不是直接匹配每个元素的内容。

让我通过一些例子来概述我的意思。给定目标数组:

然后以下“模式”将匹配,返回匹配的从 0 开始的索引,以及分组的索引,就像 preg_match_all() 对字符串所做的那样:

这只是一个简化的 PoC,我打算使用它的方式要复杂得多,而且我不想使用 PEAR 的完整解析器生成器(到 PHP 的柠檬端口),这将是矫枉过正。

您是否知道一个函数(可能不是内部 PHP 函数)或项目可以做到这一点?

谢谢你。

0 投票
1 回答
1206 浏览

scala - scala中一系列值的模式匹配

我是 Scala 初学者,这段代码让我很挣扎。

有没有办法进行模式匹配以确保我传递给 Data 的所有内容都是正确的类型?如您所见,我有很奇怪的数据类型...

...

...