寻找一个regex可以在JavascriptJava工作.

只要每个大写字母后面跟一个:Y,整个字符串就应该匹配.

以下所有示例都应完全匹配.

所以任何大写字母后面跟着一个:Y.像A:Y. 如果有超过1对,则用逗号分隔.

S:Y,P:Y,T:Y,A:Y
S:Y,P:Y,T:Y,A:Y,C:Y
S:Y,P:Y,T:Y,A:Y,C:Y,D:Y
A:Y
B:Y
D:Y,F:Y

以下所有内容都不应匹配.因为1个或更多的人有:N个.

S:Y,P:N,T:Y,A:Y
S:Y,P:Y,T:Y,A:Y,C:N
S:Y,P:Y,T:N,A:Y,C:N,D:Y
A:N
B:N
D:Y,F:N

我不想以负匹配,就像:N不存在一样.

^(?!.*:N).+$

想找个方法来匹配:Y个.

我try 了以下方法,但最终得到了多个迷你匹配,这不是我要找的.

[SPTA:Y,]+

这可能会奏效.但再说一次,这有多个迷你火柴.

(?:[A-Z]:Y(?:,|$))+

这件事能帮我一下吗?

推荐答案

您可以使用下面的正则表达式:

^[A-Z]:Y(?:,[A-Z]:Y)*$
  • ^:断言我们在输入的开始处
  • [A-Z]:匹配大写的英文字母
  • :Y:字面意思为":Y"的数学
  • (?: )*:重复封闭模式0次或更多次
  • ,:原义逗号
  • $:断言我们在输入的末尾.

Javascript相关问答推荐

如何编辑代码FlipDown.js倒计时?

Next.js Next/Image图像隐含性有任何类型-如何修复?

Google Apps脚本中的discord邀请API响应的日期解析问题

使用JavaScript重新排序行

Rehype将hashtag呈现为URL

Mongoose post hook在使用await保存时不返回Postman响应

当试图显示小部件时,使用者会出现JavaScript错误.

为什么按钮会随浮动属性一起移动?

无法从NextJS组件传递函数作为参数'

在Java中寻找三次Bezier曲线上的点及其Angular

将嵌套数组的元素乘以其深度,输出一个和

Clip-Path在网页浏览器(Mozilla、Edge、Chrome)上不能正常工作,但在预览版Visual Code Studio HTML、CSS、JS上却能很好地工作

使用CEPRESS截取时,cy.Wait()在等待5000ms的第一个路由请求时超时

Chart.js Hover线条在鼠标离开时不会消失

如何在Web项目中同步语音合成和文本 colored颜色 更改

在传单的图像覆盖中重新着色特定 colored颜色 的所有像素

将字体样式应用于material -UI条形图图例

浮动标签效果移除时,所需的也被移除

Playwright:ReferenceError:browserContext未定义

正在发出错误的URL请求