将Clojure字符串提取到冒号

时间:2014-08-12 22:06:21

标签: regex string clojure

我有一个字符串"早餐:鸡蛋&培根@ll day!"而且我想将所有东西都提取到结肠。我想早点回来"早餐"。

提前致谢!

3 个答案:

答案 0 :(得分:5)

尝试使用split拆分冒号上的字符串,然后获取结果的第一个元素。

(clojure.string/split "Breakfast: eggs & bacon @ll day" #":")

split可能是您的最佳选择,而不是使用带有捕获组的正则表达式。你也可以分割你想要的任何正则表达式,所以如果你想分割一些更复杂的东西,这是一个选项。

答案 1 :(得分:4)

对于像这样的任务,亚当的答案更可取。如果要使用正则表达式,可以使用re-find

> (re-find #"^[^:]+"  "Breakfast: eggs & bacon @ll day!")
Breakfast

正则表达式使用否定类来匹配冒号之前的所有内容。如果正则表达式不包含带括号的捕获组,则匹配重新查找将返回匹配的字符串部分。

答案 2 :(得分:1)

如果您是Regex的新手,我推荐使用txt2re.com。您可以输入字符串,然后单击要挑选的部分。 txt2re然后将为您生成一个正则表达式支持许多语言,例如直接Perl / PHP输出以匹配字符串。

如果您选择文本的另一部分,那么看看正则表达式改变的方式很有趣。您可以通过使用该工具来学习(简单)正则表达式应用程序。