この正規表現パターンを適用する:
/(?:(^| |\>|\+))+([a-z\-\_]+)/gi
この文字列に:
body.test ol+li ol > li #foobar p>span a[href=*]
これらの一致をコンマ区切りで取得します。
body, ol,+li, ol, > li, p,>span, a
一部の一致の先頭にスペースと記号があるのはなぜですか? 正規表現のこの部分がこれらの兆候と一致することを期待していますが、それらをキャプチャすることはできません。
>
+
(?:(^| |\>|\+))
編集:cssセレクターのcss特異性に貢献するhtmlタグとcssセレクターを一致させようとしています。したがって、 orなしで、それぞれli
またはspan
その他を単独で一致させたいと考えています。+
>