我不是正则表达式的新手,我一直都在使用它们.除此之外,我只是不明白这个.这是完整的表达式:
/^(?:|{}I )am on (.+)\$/
Run Code Online (Sandbox Code Playgroud)
除了(?:|{}I )部分之外,我理解这个正则表达式中的所有内容,以及它在整个正则表达式的上下文中的关系.
任何帮助将非常感激.
该部分匹配字符串最开头的子模式,可以是:
无论是什么(之间的部分?:和|,或为空)
一个开口的花括号,{后面是一个闭合的花括号,}后面I跟着一个空格字符.
?:它没有捕获的手段,所以第一个捕获的子模式(.+)不是(?:|{}I ).
通常,在正则表达式中使用{和}字符来量化某个模式(例如,\d{0,5}表示0到5位),但在这种情况下,它们没有特殊含义,因为它们之间没有数字或逗号.
关于整个正则表达式,我猜测它应该匹配一个字符串,该字符串以"am on ..."开头,或"{}我在......",但我不知道为什么需要花括号或为什么在最后$使用a \进行转义.