我正在将一些库从 PHP 移植到 JavaScript,我遇到了这个正则表达式,它的某些部分我不清楚。
#(?: *+(?<= |^)\.((?:\([^)\n]++\)|\[[^\]\n]++\]|\{[^}\n]++\}|<>|>|=|<){1,4}?))#
不清楚的部分是
*+
++
我知道,这个表达式应该接受像这样的字符串
.(title)[class]{style}<>
.[class]{style}<>
.[class](title){style}
// and so one - no metter of order \(.+\), \[.+\] and \{.+\} parts
// and optional <>, >, = or < at the end
此表达式与PCRE_UNGREEDY
修饰符一起使用。