继续我之前的问题:Need regular expression that extracts sub-strings that are in some specified format。那里建议的解决方案解决了我的问题,但并不完全。我遇到了另一个字符串示例,必须从中提取以下格式的子字符串:
@ [这里有任何角色]。[这里有任何角色]。[这里有任何角色] .......等等。
例如,我有一个字符串:
我的位置是@ [XYZ大陆]。[XYZ国家]。[XYZ州]。[XYZ城市]。[XYZ街]在地图上。随时欢迎您。
以前的解决方案在此字符串上运行正常。输出:
@[XYZ Continent].[XYZ Country].[XYZ State].[XYZ City].[XYZ Street]
但该解决方案仅检查+
和子字符串外的空格(CLICK HERE TO SEE DEMO)。但我想要的是,无论是字母数字,空格还是其他特殊字符,都必须忽略子字符串的左右两边。例如:
Hello @ [XYZ Continent1]。[XYZ Country1] + @ [XYZ Continent2]。[XYZ Country2] 1 @ [XYZ Continent3]。[XYZ Country3]那里。
输出必须是:
@[XYZ Continent1].[XYZ Country1]
@[XYZ Continent2].[XYZ Country2]
@[XYZ Continent3].[XYZ Country3]
上一个问题的解决方案:
(?<!\w)@(\w+\b|\[.*?\](?=[\s+]|$))