首页 > 解决方案 > 可选字符串的正则表达式匹配

问题描述

我正在尝试提出一个最小的正则表达式来提取字符串的一部分,最后一部分是可选的。该字符串将类似于:

jack:Bill(23):Space Force (23, Apple;Orange)

或者

jack:Bill(23):Space Force

我需要提取如下:

Jack
Bill(23)
Space Force
23
Apple;Orange

最后 2 项可能会根据源字符串出现,也可能不会出现。我正在尝试使用正则表达式,例如:

(.*?):(.*?):(.*?)(\\(([0-9]+),([^\\)]*)?\\))?

但这似乎不起作用。

标签: regex

解决方案


我得到了它的工作(.*?):(.*?):([^\\(]*)(\\(([0-9]+), ([^\\)]*)?\\))?


推荐阅读