regex - 打开/关闭 Clojure 重新模式中的贪婪性

标签 regex clojure

如何在 Clojure 重新模式中打开/关闭贪婪性?

(re-find #"(.+)-(.+)" "hello-world-you") => ["hello-world-you" "hello-world" "you"]

对比

(re-find #"(.+)-(.+)" "hello-world-you") => ["hello-world-you" "hello" "world-you"]

最佳答案

? 使量词(例如 +)变得非贪婪。默认情况下,它们是贪婪的。

  • 贪婪:(.+)
  • 非贪婪:(.+?)
<小时/>

顺便说一句,这只是直接、简单、切中要害的答案。 @fge 的回答提出了更好的做法。检查一下 future 的表达方式。

关于regex - 打开/关闭 Clojure 重新模式中的贪婪性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8842346/

相关文章:

clojure - 十进制到二进制 Clojure

clojure - 简化函数输出不完全符合预期

java - 搜索字符串中的单引号并将其与其他字符括起来

正则表达式帮助 - 匹配除 MD5 哈希之外的单词

regex - 提取左侧闭合间隔的断点

clojure - 使用leiningen安装库而不创建项目

java - PHP 从数据库中检索单个字符串

php - 正则表达式到 preg_replace '\n' 和字符串中的所有其他转义字符?

clojure - 有没有办法将 REPLY 设置为始终打印?

clojure - 如何遍历从 Clojure 中的生产者函数生成的树?