Skip to main content
 首页 » 编程设计

c#之使用方括号的正则表达式模式

2024年02月01日26zhwl

伙计们,这是一个简单的问题。我正在尝试创建一个模式以在 C# 中与正则表达式一起使用。

这是我的尝试:

"(value\":\[\[\"([A-Za-z0-9]+(?:-{0,1})[A-Za-z0-9]+)\"\]\])" 

但是由于某种原因,当我去编译它时,我在括号中得到了“无法识别的转义序列”。我不能简单地使用\来转义括号吗?

我正在搜索的字符串的形式为

value":[["AB-AB"]] 

或

value":[["ABAB"]] 

我想从结果中获取 group[1]。

请您参考如下方法:

默认情况下,C# 编译器不允许它无法识别的转义序列。您可以像这样使用“@”来覆盖此行为:

@"(value\"":\[\[\""([A-Za-z0-9]+(?:-{0,1})[A-Za-z0-9]+)\""\]\])" 

编辑:

@ 符号比这复杂一点。引用@Guffa:

A @ delimited string simply doesn't use backslash for escape sequences.

此外,应该注意的是,在这样的字符串中 \" 的替换是 ""