用于替换包含特殊字符的字符串的正则表达式模式

Regex pattern to replace string containing special characters

需要帮助找出正则表达式模式,这将帮助我在下面进行替换 -

*LABEL 并且它的值包含在双引号内。 (双引号内的文本可能包含所有不同的特殊字符,并且没有固定模式)

我举了两个不同的例子 -

输入字符串 1 -

*QUESTION 99924 *ALPHA 1026L3 *DUMMY *VAR “version” *LABEL “SCRIPT VERSION” *PROPERTIES “ReportType=IsShell;ExcludeFromDAU=True”

预期输出字符串 -

*QUESTION 99924 *ALPHA 1026L3 *DUMMY *VAR “version” *PROPERTIES “ReportType=IsShell;ExcludeFromDAU=True”

输入字符串 2 -

*QUESTION 270 *CODES 4705L996 *RANDOM *MULTI *MIN 1 *LABEL “BARRIERS_TO_ATTENDENCE - B3” *VAR “BARRIERS_TO_ATTENDENCE” *PROPERTIES “DIMVAR=BARRIERS_TO_ATTENDENCE” *IF [#Q180,1] UIOPTIONS "? ROWPICKER"

预期输出字符串 -

*QUESTION 270 *CODES 4705L996 *RANDOM *MULTI *MIN 1 *VAR “BARRIERS_TO_ATTENDENCE” *PROPERTIES “DIMVAR=BARRIERS_TO_ATTENDENCE” *IF [#Q180,1] UIOPTIONS "? ROWPICKER"
\*LABEL\s?“([^”])*”

上面的正则表达式将匹配任何出现的 *LABEL 后跟一个可选的白色space,然后是你的开始字符和任何除了你的结束字符,”,和最后是结束符,“”。

如果您需要删除标签标志后的 space,您可以像这样扩展正则表达式:

\*LABEL\s?“([^”])*”\s?

注意,捕获组(用括号标记)是可选的,可以减少到 \*LABEL\s?“[^”]*”\s?