0

根据标题,我需要将表单的字符串解析string_1\string_2为一个字符串,然后是一个反斜杠,然后是另一个具有以下要求的字符串:

  • 如果存在 string_1 和 string_2,则将它们分成两个标记:string_1\string_2
  • 如果只有 string_1 存在,则返回它
  • 如果\string_2存在但反斜杠后面没有任何内容,则不匹配任何内容。

到目前为止,我想出了这个:

^([\w\s]*)((?!\\\).*)

但是 string_1 中的最后一个字符不断“泄漏”并在反斜杠之前转到 string_2。

有没有办法解决这个问题?或任何其他替代正则表达式?以下正则表达式确实有助于泄漏,但它打破了第三个要求。

^([\w\s]*).((?!\\\).*)

为了确保这个问题不是太本地化,请注意,当您在 say 之前有一个字符串时,这可能有助于解析乳胶的一个子集\section{section title comes here {*}}

4

1 回答 1

2

我认为这是您正在寻找的正则表达式:

/^([^\\]+)(\\.+)?/

第一组是至少一个字符的“非\”,后面是可选的“\”和其他任何内容。

于 2013-07-20T20:00:26.723 回答