我有一个字符串"早餐:鸡蛋&培根@ll day!"而且我想将所有东西都提取到结肠。我想早点回来"早餐"。
提前致谢!
答案 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输出以匹配字符串。
如果您选择文本的另一部分,那么看看正则表达式改变的方式很有趣。您可以通过使用该工具来学习(简单)正则表达式应用程序。