我正在做一个正则表达式模式,可以提取以“”开头和以“”结尾的字符串。但这是问题所在-字符串中还可能包含带有转义字符的''',例如'\''。就是这样"This is a \"Demo\" text"
。现在,我对后向运算符一无所知。我只需要一些建议,如果使用单个Regex模式可以做到这一点?
谢谢
它应该像这样工作:
"(?:\\.|[^"])+"
没有前瞻/落后的东西。这将执行以下操作:
"
,消耗掉它\\
,第一个也掩盖了第二个反斜杠\"
)。如果找不到,请转到步骤3。如果找到,请消耗这两个字符并重复步骤2。"
。如果是,请消耗并转到步骤2。如果不是"
,则转到步骤4。"
必须在这里正如HamZa所指出的,如果"
在字符串之外找到a而不是将其作为字符串的开头,则此Regex将失败。例如对于Java代码,如果您有类似的情况,就是这种情况
Character c = '\"'
(“作为字符”)或
if (foo) { /* chosen "sometimes */ String g = "bar"; }
(评论中随机出现)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句