Regex 正则表达式,用于接受字母数字和特殊字符,但不能仅接受特殊字符

Regex 正则表达式,用于接受字母数字和特殊字符,但不能仅接受特殊字符,regex,Regex,因此,我需要应用一些正则表达式来检查输入的文本是否是带有可能的特殊字符(如撇号)的字母数字,但不应接受没有字母数字字符的特殊字符 例如: “某人的东西”返回5个结果 (')返回“无效” 我目前有: var regexItem = new Regex("^[a-zA-Z0-9 ]*$"); if (!regexItem.IsMatch(searchTerm)) { return null;

因此,我需要应用一些正则表达式来检查输入的文本是否是带有可能的特殊字符(如撇号)的字母数字,但不应接受没有字母数字字符的特殊字符

例如:

  • “某人的东西”返回5个结果
  • (')返回“无效”
我目前有:

var regexItem = new Regex("^[a-zA-Z0-9 ]*$");

            if (!regexItem.IsMatch(searchTerm))
            {
                return null;
            }
这适用于字母数字值,并仅使用特殊字符阻止输入,但如果搜索项中有撇号,它将返回null

这可能吗

更新:

新代码如下所示

var regexItem = new Regex("^(?=[^a-zA-Z0-9]*[A-Za-z0-9])[a-zA-Z0-9 '()]* $");

            if (!regexItem.IsMatch(searchTerm))
            {
                return null;
            }
您必须使用
[按原样]
var regexItem=new Regex(“^[a-zA-Z0-9]*$”
[未来]

var regexItem=new Regex(“^([a-zA-Z0-9]+(')?[a-zA-Z0-9]*)*$”

将允许使用字符/字符串“或”。@seunggabi这是完美的。非常感谢!:)你能写一个更详细的例子吗?试着使用一个积极的前瞻
^(?=[^a-zA-Z0-9]*[a-zA-Z0-9])[a-zA-Z0-9'()]*$
不太清楚如何使其更详细。也许我的措辞不太正确。如果我搜索“它会返回数千个结果,这需要花费不可接受的时间。因此,我不想让用户单独搜索任何特殊字符。希望这能让事情更清楚?积极的外观ahead在您提供的链接上似乎是正确的,但当我将它放入代码中时,它现在为所有输入返回null?@rubidge96在这个演示中似乎可以工作