我正在尝试从正则表达式(PCRE)匹配项中删除整个词组
如果提供以下字符串
test:test2:test3:test4:test5:1.0.department
test:test2:test3:test4:test5:1.0.foo.0.bar
user.0.display
"test:test2:test3:test4:test5:1.0".division
我想编写将返回的正则表达式:
.department
.foo.0.bar
user.0.display
.division
现在,我认为这样做的一种好方法是匹配所有内容,然后删除test:test2:test3:test4:test5:1.0
和"test:test2:test3:test4:test5:1.0"
,但我为此很努力
我尝试了以下
\b(?!(test:test2:test3:test4:test5:1\.0)|("test:test2:test3:test4:test5:1\.0"))\b.*
但是这似乎只是从每个和多数民众赞成中删除了第一个测试。谁能帮我解决问题,或者提供更好的方法?
答案 0 :(得分:1)
我建议搜索以下模式:
"?test:test2:test3:test4:test5:1\.0"?
并替换为空字符串。请参见regex demo和regex graph:
使用?
(1或0次)量词使两端的引号成为可选。