首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#中具有OR条件的正则匹配最长条件

问C#中具有OR条件的正则匹配最长条件
EN

Stack Overflow用户
提问于 2021-08-25 09:38:28
回答 1查看 56关注 0票数 0

我正在尝试提取字符串的一部分,其中在正则表达式中设置了多个模式,并使用条件OR (“AC.26”)来测试它们。不幸的是,我的第一个条件包含在第二个条件中,并将我的结果分成两个组而不是一个组。

我正在使用C# basic System Regex。

这里是我想要的一个例子:

我的字符串: abcdefghijklmopqrstuvwxyz

我的判断力:a-m+x-z+

结果是两个匹配:

(1):abcdefghijklm违法乱纪

(2):opqrstuvwxyz

我想得到整个字符串作为一个匹配,即使在一个(3)的结果

有没有办法做到这一点,而不切换两个条件?

真诚的,Peaceandlove25

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-25 10:24:33

我觉得最好把大梁分开。雷吉斯总是向前走。一旦找到了匹配物,就不会回头看。这就是为什么第二组不是从'a‘开始,而是从'o’开始。

您可能可以做两次正则表达式,因为您是好的,如果第三场比赛将被发现。

代码语言:javascript
复制
var regexFirstCheck = [a-m]+
var regexSecondCheck = [a-z]+

您的业务逻辑可以组合结果,因此您可以得到2或3个匹配:

代码语言:javascript
复制
1: abcdefghijklm
2: abcdefghijklmopqrstuvwxyz

如果您需要or匹配,您可以使用您提供的正则表达式,或者创建另一个步骤。这可能会增加可读性:

代码语言:javascript
复制
var regexFirstCheck = [a-m]+
var regexSecondCheck = [o-z]+
var regexThirdCheck = [a-z]+

1: abcdefghijklm
2: opqrstuvwxyz
3: abcdefghijklmopqrstuvwxyz
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68920424

复制
相关文章

相似问题

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