autocorrect 1.10.7

A linter and formatter for help you improve copywriting, to correct spaces, words, punctuations between CJK (Chinese, Japanese, Korean).
Documentation
newline = ${ "\n" | "\r" }
space = ${ " "+ }

other = ${ !(string) ~ ANY }
comment = ${ single_line_comment | multiline_comment }
single_line_comment = _{ "#" ~ (!(newline) ~ ANY)* }
multiline_comment = _{ 
  "\"\"\"" ~ (!("\"\"\"") ~ ANY)* ~ "\"\"\""
}

string = ${ 
  string_val 
  | ("\"\"\"" ~ (!("\"\"\"") ~ ANY)* ~ "\"\"\"") 
  | ("~" ~ ("s" | "c") ~ "(" ~ (!(newline | ")") ~ ANY)* ~ ")") 
}
string_val = _{
  ("'" ~ (!(newline | "'") ~ ANY)* ~ "'") 
  | ("\"" ~ (!(newline | "\"") ~ ANY)* ~ "\"") 
}

regexp = ${
  ( "~r/" ~ (!(newline | "/") ~ ANY)* ~ "/" )
  | ("Regex.compile(" ~ " "* ~ string_val ~  (!")" ~ ANY)* ~ ")")
}

line = _{ regexp | comment | string | space | other | newline }
item = _{ SOI ~ line* ~ EOI }