Regex 正则表达式函数澄清

Regex 正则表达式函数澄清,regex,Regex,我有一个字符串,我必须过滤以下内容: "#Subject = \"@hb\" + @uv_EmployeeID + \" fdsaas\" + @test" 我只需要过滤@uv_EmployeeID和@test,而不是“-内部双引号”中的值,这是有效的:新的正则表达式(@“[^”]@{1}[a-zA-Z]+” 只需从结果中删除第一个字符,如下所示: var reg = new Regex(@"[^""]@{1}[a-zA-Z_]+"); var matches = reg.Matches("

我有一个字符串,我必须过滤以下内容:

"#Subject = \"@hb\" + @uv_EmployeeID + \" fdsaas\" + @test"

我只需要过滤
@uv_EmployeeID
@test
,而不是“-内部双引号”中的值,这是有效的:
新的正则表达式(@“[^”]@{1}[a-zA-Z]+”

只需从结果中删除第一个字符,如下所示:

var reg = new Regex(@"[^""]@{1}[a-zA-Z_]+");

var matches = reg.Matches("#Subject = \"@hb\" + @uv_EmployeeID + \" fdsaas\" + @test");

var empId = matches[0].Value.Substring(1); // @uv_EmployeeID
var test = matches[1].Value.Substring(1); // @test

我怀疑你发的所有语言标签都与你的问题有关。我建议添加您实际使用的一种编程语言。C#是编程语言。最终目标是获取以@开头的字符串,但它不应在双引号内。有任何可能的方法可以在没有@的情况下获取匹配项front@VIGNESHRK是的,只需执行子字符串(2)而不是1,在进行正则表达式测试时,您将跳过前2个字符,我可以发现带有2-@的字符串也会得到匹配。例如:@@uv\u员工也正在匹配。。根据我们的要求,我们希望匹配的单词在字符串前面只有一个@。请帮助。在@之前是否总是有空格,然后是一个只有小写/大写字母和/或u的单词?如果是,这将完成作业:@“{1}[a-zA-Z_]+”