Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式删除引号之外的所有字母实例_Regex - Fatal编程技术网

Regex 正则表达式删除引号之外的所有字母实例

Regex 正则表达式删除引号之外的所有字母实例,regex,Regex,我有一串文字: \n new"test \n aaaa" \n ta \n `this is a \n newline that should be kept` 我的目标是匹配反勾(`)、引号(“)或单引号(')之外的所有\n。根据另一个问题(),我将使用的正向前瞻切换为反向前瞻,现在匹配引号(“)之外的所有换行符。然而,当我试图忽略单个和反向刻度时,它不起作用 我做错了什么 工作报价: 使用 text.replace(/(“[^”\]*(?:\.[^”\]*)*“\\'[

我有一串文字:

\n new"test \n aaaa" \n ta \n `this is a \n newline that should be kept`
我的目标是匹配反勾(`)、引号(“)或单引号(')之外的所有
\n
。根据另一个问题(),我将使用的正向前瞻切换为反向前瞻,现在匹配引号(“)之外的所有换行符。然而,当我试图忽略单个和反向刻度时,它不起作用

我做错了什么

工作报价: 使用

text.replace(/(“[^”\]*(?:\.[^”\]*)*“\\'[^'\]*(?:\.\.^'\]*)*“[^'\]*(?:\.\.^'\]*)*”。\\n/g,$1')

解释

--------------------------------------------------------------------------------
(组和捕获到\1:
--------------------------------------------------------------------------------
"                        '"'
--------------------------------------------------------------------------------
[^“\]*除以下字符外的任何字符:“”、“\\”(0或
更多次(与最多金额匹配)
(可能的)
--------------------------------------------------------------------------------
(?:组,但不捕获(0或更多)
次数(与最大金额匹配)
(可能的):
--------------------------------------------------------------------------------
\\                       '\'
--------------------------------------------------------------------------------
.除以下字符以外的任何字符\n
--------------------------------------------------------------------------------
[^“\]*除以下字符外的任何字符:“”、“\\”(0或
更多次(与最多金额匹配)
(可能的)
--------------------------------------------------------------------------------
)*分组结束
--------------------------------------------------------------------------------
"                        '"'
--------------------------------------------------------------------------------
|或
--------------------------------------------------------------------------------
'                        '\''
--------------------------------------------------------------------------------
[^'\]*除:“”、'\\'(0或
更多次(与最多金额匹配)
(可能的)
--------------------------------------------------------------------------------
(?:组,但不捕获(0或更多)
次数(与最大金额匹配)
(可能的):
--------------------------------------------------------------------------------
\\                       '\'
--------------------------------------------------------------------------------
.除以下字符以外的任何字符\n
--------------------------------------------------------------------------------
[^'\]*除:“”、'\\'(0或
更多次(与最多金额匹配)
(可能的)
--------------------------------------------------------------------------------
)*分组结束
--------------------------------------------------------------------------------
'                        '\''
--------------------------------------------------------------------------------
|或
--------------------------------------------------------------------------------
`                        '`'
--------------------------------------------------------------------------------
[^`\]*除以下字符以外的任何字符:`、'\\'(0或
更多次(与最多金额匹配)
(可能的)
--------------------------------------------------------------------------------
(?:组,但不捕获(0或更多)
次数(与最大金额匹配)
(可能的):
--------------------------------------------------------------------------------
\\                       '\'
--------------------------------------------------------------------------------
.除以下字符以外的任何字符\n
--------------------------------------------------------------------------------
[^`\]*除以下字符以外的任何字符:`、'\\'(0或
更多次(与最多金额匹配)
(可能的)
--------------------------------------------------------------------------------
)*分组结束
--------------------------------------------------------------------------------
`                        '`'
--------------------------------------------------------------------------------
)结束\1
--------------------------------------------------------------------------------
|或
--------------------------------------------------------------------------------
\\                       '\'
--------------------------------------------------------------------------------
不
JavaScript代码

const text=String.raw`\nnew“测试\naaaa\\\n”\nta\n\`这是一条应保留的\nnewline\`\n'这是一个\nnew测试'\n`
console.log(text.replace(/(“[^”\]*(?:\.[^”\]*)*“\\'[^'\]*(?:\.\.^'\]*)*“[^\\\]*”(?:\.\.\\\\]*)\\\\\\\\\\\\\\\\\\\]*(?:\.\.\\\.\\\\\\\\\\\\\\\\\\]*)\\\\\\\\\\\\\\\\\\\\\\\\

text.replace(/(“[^”\]*(?:\.[^”\]*)*“\\'[^'\]*(?:\.\.^'\]*)*“[^'\]*(?:\.\.^'\]*)*”。\\n/g,$1')