我有以下文字
type MyType1
type MyType2, MyType3
type MyType4,MyType5,MyType6, ...
NotMyType1, NotMyType2
我该如何匹配以关键字 type 开头的所有逗号分隔的*单词,以便最后我只有
MyType1
MyType2
MyType3
MyType4
MyType5
MyType6
我最初的尝试是匹配所有逗号分隔的单词(https://regex101.com/r/mQDCgX/1)
(?<=[,])(\w+)(?=[,])|(?<=[\s,])(\w+)(?=[,]|$)
然后尝试将其分组,并使用向后搜索来匹配类型。但是,它没有用。
注意: *逗号也可以用空格包围
答案 0 :(得分:1)
将我的评论转换为答案。
您可以使用此正则表达式:
(?:\btype|(?!^)\G,)\h*\K[^,\s]*
\G
在上一场比赛的末尾或首场比赛的字符串开头声明位置。(?!^)
用于确保我们不处于起步阶段\K
用于重置匹配信息