我有一个字符串列表,取自许多 CSSRule 的 selectorText,字符串具有一般形式(不确定那个 RegEx):
".selector1 .elementClass[, ]*"
具体例子如下:
".point"
".point.lackofclearance .stand_b, .point.lackofclearance .stand_c"
".point .path_a,.point .path,.point .stand"
".blink_on .point.direction_open .stand"
".blink_off .point.a_in_ratc_selection .path_a, .blink_off .point
.path.a_in_ratc_selection"
现在,在这些字符串中,有趣的是那些包含字符串“ point
”的字符串,并且在那些包含字符串“ point
”的字符串中,我对紧跟在“ .point.
”之后和下一个空格字符之前的子字符串感兴趣。它们代表我想阅读的元素状态。
例如:
从 " .point
" 没有要提取的子字符串,从 " .point .path_a,.point .path,.point .stand
" 也没有要提取的子字符串,因为 " .point.
" 根本不作为一个片段存在。但是对于“ .point.lackofclearance .stand_b, .point.lackofclearance .stand_c
”我想提取“ lackofclearance
”,当然是第一次和第二次出现。
我脑子里已经有了一个想法,那就是:
- 检查字符串“
point
”是否存在 - 如果是,则将字符串拆分为 '
,
' 对于每个生成的子字符串,由 ' ' (空格字符)分割
- 对于每个包含“.”的结果子字符串,用“ ”(点字符)
.point
分割.
- 取最后一个拆分的第二个子字符串
有没有人有其他建议,一种别致的方式,可能更短,或更高效,或两者兼而有之……必须在 JavaScript 中完成,在 Chrome 中,jQuery 可用。