在字符串中找到“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