我正在将一些 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
修饰符一起使用的。