首页 > 解决方案 > 字符串的开头有一个 X 而不是 2 个 X

问题描述

我试图找到一种方法来检查字符串是否以正则表达式中的一个“X”而不是 2 个 X 开头。

所以我想我已经尝试过

Regex.IsMatch(teststr, "^[^X]{1}?^[XX]");
Regex.IsMatch(teststr, "^[^X]{1}?");
Regex.IsMatch(teststr, "^[^X]{1}");
Regex.IsMatch(teststr, "^[^X]?");

结果应该是,如果字符串仅以 1 X 开头,那么除了仅以 1 X 开头的字符串外,都给我。允许使用带有 2 X 的字符串

标签: c#regex

解决方案


使用负前瞻怎么样?:

^X(?!X)

基本上,该(?!pattern)部分表示负前瞻,如果前瞻中的模式失败,这将使您的整体表达式匹配失败。

在线尝试


推荐阅读