Csharp/C#教程:在字符串中找到“LEV”分享


在字符串中找到“LEV”

如果存在“LEV”,我想提出一个有效的方法。 “V”是字符串中的最后一个字母。

我正在寻找像这样匹配的正则表达式:

WATER LEV answer: true TTM DAB LEV answer: true FOODS IN2 LEV answer: true RLA LEV answer: true dd LEVFF answer: false RLA LEV answer: false due to white space after "V" 

这是我尝试过的,但没有奏效:

  LE*D[V] 

你可以试试这个:

 LEV$ 

最后的$表示end of string

如果要在字符串末尾匹配整个单词LEV在其LEV加上b ,这意味着word boundary

 bLEV$ 

让我澄清为什么bLEV$不是一个好的答案。

$ anchor匹配字符串的结尾,或者字符串中最后一个字符之前的位置。 见锚点参考 :

$ – 匹配必须发生在字符串的末尾,或者在行或字符串末尾的n之前

因此, 要匹配字符串的最后一部分,必须使用z锚点

下一点是匹配应该发生在字符串的末尾,但正则表达式引擎默认从左到右搜索匹配。 要大大增强匹配,只需使用RegexOptions.RightToLeft修饰符来反转字符串分析。

因此,使用

 var rx = new Regex(@"bLEVz", RegexOptions.RightToLeft); 

以有效的方式在字符串的最末端找到整个单词LEV

但是,在大多数情况下, 当您不需要检查子字符串是否是整个单词时,您可以使用String.EndsWith()

 if (s.EndsWith("LEV")) {...} 

另请注意,您的LE*D[V]匹配:

因此, L^V是有效匹配acc。 这种模式。

上述就是C#学习教程:在字符串中找到“LEV”分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1020494.html

(0)
上一篇 2022年1月4日
下一篇 2022年1月4日

精彩推荐