Regex 要跨多字符分隔符提取的正则表达式
我需要提取以下单行字符串中显示的长数据格式:Regex 要跨多字符分隔符提取的正则表达式,regex,Regex,我需要提取以下单行字符串中显示的长数据格式: Fred,0 Dave,0 Rupert,0 Larry,1 Barry,0 Steve,1 RTE1832 : London***11.2.0.4.0***RE22/1***20170321075456***SS/D20 名称和名称的数量会发生变化,因此我希望使用***分隔符进行提取。谢谢你的帮助 编辑:已尝试\s*\*\*\*\s*,但需要获取正确的组。如果需要在第三次出现***之后包含一个子字符串,则此正则表达式: (?:.*?\*{3}\s
Fred,0 Dave,0 Rupert,0 Larry,1 Barry,0 Steve,1 RTE1832 : London***11.2.0.4.0***RE22/1***20170321075456***SS/D20
名称和名称的数量会发生变化,因此我希望使用***
分隔符进行提取。谢谢你的帮助
编辑:已尝试\s*\*\*\*\s*,但需要获取正确的组。如果需要在第三次出现
***
之后包含一个子字符串,则此正则表达式:
(?:.*?\*{3}\s*){3}(.*?)\s*\*{3}
将用所需数据填充第一个捕获组
说明:
-不要懒洋洋地匹配任何东西,以免吞咽*?
***
-字面意思是\*{3}
三次*
-可选后跟空格\s
-以上所有内容都连接在一起(?:.*?\*{3}\s*)
-。。。重复三次(?:.*{3}\s*){3}
-在组中捕获的任何内容(再次懒洋洋地停止在(.*)
分隔符上)***
-可选后跟空格\s*
-和结束分隔符\*{3}
演示:您尝试了什么吗?请参见编辑。请详细说明您要提取输入字符串的哪一部分?您希望从数据样本中提取哪些字符串?我想提取20170321075456,因此您需要一个子字符串,该子字符串由第三次出现的
***
包围,不是吗?