我正在努力为以下问题构建正则表达式。
示例文字:
startABC)kasldstartXYZ,kjlksdstartMNO]aksdjfakstartDEF

startXYZ)kasldstartABC,kjlksdstartPQR]aksdjfakstartEFG

输出:
ABC,XYZ,MNO,DEF,XYZ,ABC,PQR,EFG
启动Word:
"start"
结束语:
"," or ")" or "=" or "
" or "]" or """
答案 0 :(得分:1)
你只是在寻找这样的东西:
start(.*?)(?:
|[,)=\]"])
您想要的文本将位于捕获组中。结束分隔符位于非捕获组(?: ... )
中。
答案 1 :(得分:1)
使用positive lookaround assertions。
(?<=start).*?(?=
|[=,)"\]])
说明:
(?<=start)
正面Lookbehind断言匹配必须以字符串start
开头。.*?
任意字符的最短匹配次数为零次或更多次。(?=
|[=,)"\]])
正向前瞻断言,匹配必须后跟前瞻内部模式匹配的字符。