.net - 正则表达式 - 转义字符

标签 .net regex

我有这个正则表达式: (?:\[|\G(?!^))('[^']+?')\s*,?\s*(?=[^\] ]*?\]) 仅匹配方括号内引号之间的内容(如数组): ['Foo', 'Bar'] => 返回 'Foo' 'Bar' .

问题是,在这种情况下,单引号是一个特殊字符,因为正则表达式将其用作分隔符,但有时我有必要将值内的单引号作为转义字符传递: ['F'oo', 'B'ar'].

我正在尝试通过将这个非捕获 (?:(?=(\\?))\1.) 组调整为 'F\'oo' 来执行类似的操作正则表达式,但它不起作用,我尝试了很多不同的方法。

这个非捕获组正则表达式来自 answer ,他成功地使用反斜杠转义特殊字符。

我将 C# 与 .NET Core 一起使用。

全文如下:eq('Property', ['F'oo', 'Ba'r', '123'])

如何解决这个问题?

最佳答案

你也许可以使用

(?:\[|\G(?!\A))
('.+?')
(?:(?:\s*,\s*)|\])

参见a demo on regex101.com .

关于.net - 正则表达式 - 转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58280001/

相关文章:

c# - Moq 设置 ServiceLocator

regex - perl可以一次性用自己的替代词替换多个关键字吗?

c# - 在特定设置上使用正则表达式

regex - 如何在正则表达式中搜索嵌套项目符号列表中的单词组合?

.net - & 在 xml 文件中算作一个还是多个字符?

c# - 如何通过 Visual Studio 2015 使用 OneClick publish 发布 .NET 应用程序?

.net - .net 中的中间件服务器使用哪些技术?

c# - 条件表达式中的赋值 - 这对代码质量有哪些潜在影响?

python - 在不验证固定宽度模式的情况下,正则表达式模式无法使用后视功能

python - 如何将正则表达式与多个重叠模式匹配?