当前位置: 首页 > 知识库问答 >
问题:

带有转义双引号的RegEx

金英华
2023-03-14
[^\s"]+|"[^"\\]*(?:\\.[^"\\]*)*"
foo list
foo list --barId ae920cf4-79e7-4c6f-8420-2d64cd6e4ae2
foo list --name "foo's name"
foo create --description "this is a \"description\" with some escaped quotes"
bar create --expression service.GetData(\"2194c75c-26be-405a-b264-5a96152d93f8\")

这里,整个“service.getdata”语句应该是一个匹配项,但它在(转义的)双引号处中断。如果我用双引号括起参数值,它就可以工作了(就像它在前面的示例块中所做的那样)。但不幸的是,当参数值没有用双引号包装时,我需要它也能工作。

有人能帮我做最后一块吗?

共有1个答案

宋华灿
2023-03-14

你能用单引号吗?如果是这样的话,那么您可以将引用捕获部分放在第一位,这样它就可以贪婪地匹配了。

(?:“')[^”\\]*(?:\\.[^“\\]*)*(?:”')[^\s“]+

它将与以下内容匹配:

bar create --expression 'service.GetData(\"2194c75c-26be-405a-b264-5a96152d93f8\")'
"[^"\\]*(?:\\.[^"\\]*)*"|([^\s])+|[^\s"]+
 类似资料:
  • 问题内容: 如果JSON字符串如下,如何转义双引号? 我想对值 TEST中 的次级双引号进行转义。 我已经尝试了以下方法,但是它不起作用。 我想念什么? 问题答案: 它应该是: 首先,我将外部引号更改为单引号,因此它们不会与内部引号冲突。然后,我将反斜杠放在最里面的引号之前,以使其转义。而且我避开了反斜杠,以便按字面意义对待它。 使用JSON函数可以获得相同的结果:

  • 问题内容: 我有一个正在编写的脚本,用于将某些字段移至新的数据库,例如 但是如您所见,由于单引号和双引号,查询每次都会中断,是否有解决此问题的方法,例如herdok或类似的东西 问题答案: 为此而制作的。 PHP:mysql_real_escape_string

  • 我正在使用opencsv读取csv文件。有时csv文件中包含单引号或双引号。如何读取它们而不更改csv文件本身中的数据。 现在,如果我用两个单引号替换一个单引号,它工作正常,与双引号相同,用两个替换单个引号,它的工作原理。但我不想碰源文件。 要访问的代码如下: 这样做的结果是跳过下一行(也包含双引号),插入所有奇数行,跳过偶数行 提前谢谢

  • 问题内容: 我想对带有双引号的关键字进行grep操作。举一个简单的例子: 那不匹配。我该如何解决? 问题答案: 问题是您没有正确转义输入字符串,请尝试: 或者,您可以在单引号内使用不转义的双引号: 尽管第二种方法阻止您将命令嵌套在另一组单引号(例如)中,但是您会更清楚地了解到这是一个优先事项。

  • 问题内容: 如何在Python中用反斜杠和双引号替换双引号? 我想得到以下内容: 问题答案: 当您只要求’s’时,它会为您转义\,在打印时,您会看到字符串处于更“原始”状态。所以现在

  • 我有一个字符串,有一些双引号转义了,有一些没有转义。像这样, 该字符串转换为文字。现在,我正在使用上面的正则表达式来替换非转义双引号。并且只有第二个双引号必须被替换。