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

双引号内文本的正则表达式

毋澄邈
2023-03-14

我正在尝试匹配这些字符串:

“…” 双引号内的文本

'...'单引号内的文本

" ' "里面可以有撇号

“\”可以使用转义双引号

但不是这些:

单引号中不能包含双引号

" " "双引号中没有双引号

"'单引号内的单引号-单引号只能包含内部的文本

我想出了以下正则表达式:

['"](?(["])[^\"-"][\w])['"]

但它不起作用。

共有2个答案

扈阳辉
2023-03-14

你可以用这样的方法:

"(?:[^"\\]|\\.)*?"|'(?:[^\\"']|\\.)*?'

我已经听了你的话,但我想知道(为什么单引号中没有双引号?我不允许单引号中有单引号,尽管你对此一无所知)。

不管怎样,这里有一个例子

苏运良
2023-03-14

通常要将引号与C风格语言中的转义(以及JS中的单引号)匹配,您可以使用:

"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'
 类似资料:
  • 这是我之前问题的后续。我意识到我需要更具体地说明我的regex案例,以获得适用于我的案例的答案。 我已经与这个正则表达式斗争了很长一段时间(也使用我上一个问题的答案),我似乎无法构建我需要的东西。 我需要将所有字符串中出现的两个重复出现的单引号替换为(因此字符串内部意味着单引号)。这是因为在一种语言(语法)中,字符串中的引号使用<code>‘转义。 这里有一个例子(实际的例子可以包含用< code

  • 有没有一种方法使组的“capture”可以在regex后面引用,但其捕获的值不在匹配列表中返回? 或者其他一些方法来解决我(看似简单)的问题。

  • 问题内容: 我写了一个正则表达式,用double-qoutes分割字符串: 如何将其扩展为与单双qoutes一起使用? 我试过了: 但这是行不通的 问题答案: 有两种方法:

  • 我很抱歉,如果我错过了关闭的第一个帖子的细节。我在字符串中添加了双引号内的逗号,并将字符串添加到变量中。我不能简单地用逗号分开。 原帖 基本上,我需要把一条线分成一个数组。但当“双引号”中的“双引号”出现时,我遇到了错误。示例行如下所示: “123”、“str”、“456”、“2021年10月8日上午7:44:47”、“str”、“str”、“str”、“str”、“0”、“789”、“1”、“1

  • 我正在编写一个正则表达式来解析包含标记字段的行。标签出现在等号之前,内容出现在等号之后,用单引号或双引号括起来。对于大多数字段,内容都用单引号括起来。如果字段的内容包含单引号,则该字段用双引号括起来。例如: 我的正则表达式有效,除非字段用双引号括起来。 在Debuggex中测试 在Regexr中测试 对于上面示例中标记为a的字段,a=“'D08/APPL'”,a由捕获组1匹配,后面的单引号由捕获组