c# - 等号的正则表达式问题?

标签 c# regex

在C#中,我试图验证一个类似于以下内容的字符串:

I@paramname='test'

要么

O@paramname=2827

这是我的代码:

 string t1 = "I@parameter='test'";

 string r = @"^([Ii]|[Oo])@\w=\w";

 var re = new Regex(r);


如果我将“ = \ w”从结尾或变量r中删除,则得到True。如果我在\ w之后添加“ = \ w”,则为False。我希望@和=之间的字符可以是任何字母数字值。 =号之后的任何内容都可以包含字母数字和'(单引号)。我在这里做错了。我很少使用正则表达式,并且通常可以找到示例,尽管这是自定义格式,但即使是备忘单,我也遇到了问题。

最佳答案

^([Ii]|[Oo])@\w+=(?<q>'?)[\w\d]+\k<q>$


正则表达式:

^               start of line
 ([Ii]|[Oo])    either (I or i) or (O or o)
 \w+            1 or more word characters
   =            equals sign
   (?<q>'?)     capture 0 or 1 quotes in named group q
   [\w\d]+      1 or more word or digit characters
   \k<q>        repeat of what was captured in named group q
$               end of line

关于c# - 等号的正则表达式问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20753208/

相关文章:

C# 模拟 IHttpclient & CreateClient

c# - 如何使用不同的键实例来检索字典中的值

删除行尾和新空格之间的数字

c# - XAML 元素排列在两行的不​​同中心

c# - 如何在静态方法中写入 cookie

c# - 尝试在 C# 中打开 Word 应用程序时出错

regex - 使用 sed 从 CSV 中引用的数字中删除逗号作为千位分隔符

regex - 如何从R中的推文中提取主题标签?

javascript - 正则表达式替换 JS 中的冒号

php - 使用正则表达式从 HTML 页面中提取 JSON (PHP)