正则表达式匹配整个单词

时间:2012-07-25 11:29:05

标签: regex

我正在尝试在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个匹配的所有内容图标实例 -

3 个答案:

答案 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”:

图标,图标向上
   图标,图标向上,图标向下