首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不在列表或字符串末尾的C#正则表达式第n个字符

不在列表或字符串末尾的C#正则表达式第n个字符
EN

Stack Overflow用户
提问于 2022-08-23 07:51:39
回答 2查看 46关注 0票数 0

我试图使用以下正则表达式检查字符串中的第四个字母是否不是s或S。

Regex rx = new Regex(@"A[2-6][025][^sS].*");

此外,我希望相应的三个字母字符串匹配。"A30")。不幸的是,匹配检查返回false。有人知道我做错了什么吗?怎么改变我的判断力?

rx.Match(test).Success

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-23 07:59:13

这应该是你想做的事:

代码语言:javascript
复制
^A[2-6][025](?:[^sS].*|)$

注意非捕获组部分:

代码语言:javascript
复制
(?:[^sS].*|)

这将匹配一个不是sS的字符,后面跟着任意数量的字符--一个空字符串。

Regex101

票数 0
EN

Stack Overflow用户

发布于 2022-08-23 08:05:22

首先,您可以使用以下正则表达式检查第四字符位置是否有s或S:

代码语言:javascript
复制
^...[sS]

在第二阶段,如果A和一个数字的组合可以用您的方法解决,您需要检查:

代码语言:javascript
复制
A[2-6][025]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73454983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档