2011-09-04 42 views
2

我做一个检查,看看我的字符串是否包含单词“有效”。但如何使用正则表达式可以检查“有效”或“有效”?如何检查字符串是否有效?使用正则表达式

@"Which (of the following)?(is valid) (?<result>.*?)[?:]" 
+0

所以,你想知道一个字符串是否在文本'有效'或文本'有效'结束? – Hogan

+0

请澄清,如果你只是寻找字符串来包含子字符串或_end_与他们。你的标题和问题有点相互矛盾。 – Oded

+0

结束“有效?”或“有效?” – Marianne

回答

2

同时匹配“有效”和“有效”,你可以修改你的正则表达式是这样的:

@"Which (of the following)?(((is)|(are)) valid) (?<result>.*?)[?:]" 
2

这将在一个字符串

"(is valid)|(are valid)$"

+0

我可以用一个“有效”和括号括起来吗? – Marianne

+0

@Joaquim Rendeiro已经这么做 – Zabba

+0

@Marianne - 对 - 我认为这对正则表达式的新用户来说更加清晰。 – Hogan

0

什么是与s.Contains("is valid") || s.Contains("are valid")问题结束匹配is validare valid

+0

因为'Contains'将检查一个字符串是否出现在任何地方,并且OP希望匹配输入字符串的末尾。 – Zabba

1

如果你有很多条线中的字符串,你可以这样做:

new System.Text.RegularExpressions.Regex("((is)|(are)) valid\n"); 

但是,这将是一种选择中,在每个行分割字符串为行(str.Split('\n'))的一个阵列,并且使用EndsWith

相关问题