我正在尝试在JavaScript中使用正则表达式来匹配字符串中单词'icon-'的实例,并将整个附加的单词返回到分隔符(空格)。字符串的一个例子是
ui-grid-ico-sort icon icon-up ui-icon-asc icon-user ui-icon ui-icon-triangle-1-n ui-sort-ltr
在这种情况下,我只想匹配'icon-up'和'icon-user'。
到目前为止,我尝试过\ bicon-它似乎与图标的每个实例相匹配 - 无论它在一个单词中的位置(4个匹配)和\ bicon - [^'“] +在第一个之后返回1个匹配的所有内容图标实例 -
答案 0 :(得分:3)
(^|\s)icon-\S+
匹配以icon-
开头直到下一个空格字符的所有单词。
如果存在,您将需要删除前导空格字符。没有其他办法,因为JavaScript不支持lookbehind断言。
<强>解释强>
(^|\s) # Match start of string or whitespace
icon- # Match icon-
\S+ # Match one or more non-whitespace characters.
答案 1 :(得分:0)
使用此正则表达式:
(^|\s)icon-\S+
答案 2 :(得分:0)
这是正则表达式:
\bicon-[^\b]+?\b
通过使用\ b,在这些情况下,此表达式也可以匹配“icon-up”:
图标,图标向上
图标,图标向上,图标向下