如果我有这样的模式:(https://regex101.com/r/cR0aG8/12)
Product:.*?(.*?),.*?ReqID:
我假设(d)
Product.*?(.*?),.*?ReqID:
会单独使用G(lobal)找到Toys
,Books
,Clothes
因为我的(有点新手)眼睛正在寻找具有Product:
的任何匹配以及以逗号结尾的任何字符串以及以ReqID:
结尾的任何字符串。
但是你可以通过regeg101看到global-on获得与global-off完全相同的结果;第一个,。有没有办法构建这个,所以正则表达式只是说(任何字符串前面有Product:
和,
后跟ReqID
?
基本上我需要收集以,
开头/结尾模式为界的option[value="18:00"
之前或之后的所有值。
答案 0 :(得分:0)
您需要创建单独的组:
Product: (.*?), (.*?), (.*?), (.*?) ReqID:
匹配这些单词。对于这种模式,你甚至不需要?
。
这是多种模式的sed:
$ cat t1
Product: Toys, Books, Clothes, Radios ReqID:
Product: Toys, Books, Clothes, Radios ReqID:z
izProduct: Toys, Books, Clothes, Radios ReqID:
$ sed -e '/^Product:.*ReqID:$/ s/\(\w\+\)\(,\| \)/REPLACE\2/g' < t1
Product: REPLACE, REPLACE, REPLACE, REPLACE ReqID:
Product: Toys, Books, Clothes, Radios ReqID:z
izProduct: Toys, Books, Clothes, Radios ReqID:
它会查找以Product:
开头并以ReqID:
结尾的行。对于每一行,它匹配\(\w\+\)\(,\| \)
答案 1 :(得分:0)