其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

如何匹配这样场景的正则表达式?

GG网络技术分享 2025-03-18 16:15 3


问题描述:

单值情况: 任意字符串:Y或者N 如: AB001:Y

多值情况: 任意字符串:Y或者N;任意字符串:Y或者N

如: AB001:Y;AB002:N

AB002:Y;AB003:N;

AB002:Y;AB003:N;AB002:Y (中间用\";\"号隔开,最后可以有\";\"也可以没有)

另外如何通过正则只截取字符串中的 “AB001”AB002 AB003

网友观点:

 [A-Z0-9]+\\:[NY](;[A-Z0-9]+\\:[NY])+

谢谢 试了下 [A-Za-z0-9]+:NY+ 这个可以

 [A-Za-z0-9]+:[NY](;[A-Za-z0-9]+:[NY])+

正则表达式中的 "abababab" 中匹配 "aba",怎样才能正确匹配?

ab(?=a)(?:(?!aba)a)?

我来个只用正则解决问题的答案吧。

逻辑是这样的:

ab(?=a)
#首先要匹配ab,并且ab后面要有一个a
(?:(?!aba)a)?
#然后仅当后面不是aba的时候,才匹配下一个a,不然就不匹配(?)

如果题主是想要做替换的话,我觉得这是最好的方法了。

如果想要匹配,那么连在一起的匹配前者会少一个a,但是好在所有aba的字符都被匹配到了。

标签:

提交需求或反馈

Demand feedback