这是我的数据
ZP-S,ZB-MA-S,ZB,ZB-MA-M,ZB-MA-B,ZP,PY,ZB-ME-S,ZB-ME-M,PY,ZB-ME-B,PY-S,PY-M,PY-B,ZP-B,ZB-MA-S-LS-MLE-PES
这是我的正则表达式,我试过
(^|,)(ZB)-?[^,]+(,|$)
我的目的是检查逗号分隔列表中是否包含以 (ZB)
开头的单词可以递归地包含( hypen and [A-Za-z0-9_]+)
预期比赛如下
ZB-MA-S
ZB
ZB-MA-M
ZB-MA-B
ZB-ME-S
ZB-ME-M
ZB-ME-B
ZB-MA-S-LS-MLE-PES
答案 0 :(得分:3)
应该这样做
<强> (ZB[\w\-]*)
强>
在这里演示 https://regex101.com/r/D1dRxd/3 强>
ZB
字面匹配字符 ZB
(区分大小写)
\w
匹配任何字词(等于[a-zA-Z0-9_])
\-
匹配字符 - 字面意思(区分大小写)
*
量词 - 在零和无限次之间匹配,尽可能多次,根据需要回馈
答案 1 :(得分:2)
尝试ZB[a-zA-Z0-9\-\_]*
这将匹配ZB后的所有字母数字字符,下划线和连字符
答案 2 :(得分:2)