【发布时间】:2012-01-19 20:47:48
【问题描述】:
我需要帮助来构建正则表达式
不以 pcm_ 或 PCM_ 开头的字符串
随便猜!!!
【问题讨论】:
-
是否允许 pCM 或 PCm 或 PcM 等?
我需要帮助来构建正则表达式
不以 pcm_ 或 PCM_ 开头的字符串
随便猜!!!
【问题讨论】:
无需使用正则表达式。使用String.startsWith() 方法。
if (!str.StartsWith("pcm_",StringComparison.InvariantCultureIgnoreCase)) {}
【讨论】:
if (String.startsWith("pcm_") || String.startsWith("PCM_"))
{
//...
}
【讨论】:
正则表达式解决方案是
^(?i)(?!pcm_)
(?i) 是RegexOptions.IgnoreCase 的内联版本
^ 匹配字符串的开头
(?!pcm_) 是一个否定的前瞻断言,如果字符串不以“pcm_”或“PCM_”开头(但也是“PcM_,...)”,则该断言为真
【讨论】:
正如已经指出的那样,您不需要为此使用正则表达式,但如果您愿意,可以使用带有负前瞻的正则表达式,如下所示:^(?!pcm_|PCM_).*$
【讨论】:
【讨论】:
这里不需要正则表达式,只需使用 String.StartsWith http://msdn.microsoft.com/en-us/library/system.string.startswith.aspx
【讨论】: