正则表达式从冒号":"之间的字符串中提取子字符串和","

时间:2017-01-07 09:41:23

标签: regex

我需要根据正则表达式从任何字符串中识别一个子字符串。

例如,请使用以下字符串:

It sent a notice of delivery of goods: UserName1 (00215478),UserName2 (00258747)

Sent a notice of delivery of the goods: User is not found, UserName2 (00258747)

It sent a notice of receipt of the goods: UserName1 (00215478),UserName2 (00258747)

It sent a notice of receipt of the goods: User is not found, UserName2 (00258747)


I want to get following result:

UserName1 (00215478)

User is not found

UserName1 (00215478)

User is not found

我有一个公式,但它显示冒号后的子字符串

MID([String],FIND([String],':',1)+1,LEN([String]))

4 个答案:

答案 0 :(得分:1)

以下正则表达式应该在捕获的变量中提供所需的字符串,并在前面的冒号中添加逗号,并将逗号作为整个匹配的字符串附加:

:([^,]*),

说明: 以hat字符开头的方括号定义要排除see this lesson的字符。这里我们想要除逗号以外的任何字符。

然后明星会给它任意数量的这样的字符(非逗号)。

括号内捕获与匹配正则表达式的整个字符串内部匹配的字符串。

字符串应以冒号开头,以逗号结尾。

答案 1 :(得分:0)

您可以使用:(.+),并在第一个捕获组中获取所需的子字符串,或者您可以预测(并在后面):

(?<=:).+(?=,)

https://regex101.com/r/t06IfY/1

答案 2 :(得分:0)

把我的两分钱放进去:

:\s*([^,]+)

working on regex101.com

答案 3 :(得分:0)

尝试使用正则表达式:\s*([^,]+)

enter image description here