正则表达式以匹配JLex

时间:2018-07-28 08:36:40

标签: regex compiler-construction jlex

我正在尝试修复此正则表达式,它旨在匹配除未转义的引号和未转义的换行符之外的任何字符串:

([^"]|\\"|[^\n]|\\n)*

有人愿意帮忙吗?

例如,我要匹配:

The cow jumped over the \\"moon

但不是:

The cow jumped over the "moon

换行符

1 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式:

^[^"\n\\]*(\\.[^"\n\\]*)*$

RegEx Demo

RegEx详细信息:

  • ^:开始
  • [^"\n\\]*:匹配除换行符之外的任何0个字符或更多字符。反斜杠和"
  • (:开始第二小组
    • \\:匹配文字反斜杠
    • .:匹配\之后的任何字符
    • [^"\n\\]*:匹配除换行符之外的任何0个字符或更多字符。反斜杠和"
  • )*:结束第二组。匹配该组中的0个或更多
  • $:结束