0

我正在尝试在 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- 它似乎匹配 icon- 的每个实例,而不管它在一个单词中的位置(4 个匹配项)和 \bicon-[^'"]+ 它在第一个 icon 实例之后返回所有内容的 1 个匹配项-

4

3 回答 3

3
(^|\s)icon-\S+

icon-匹配所有以下一个空格字符开头的单词。

您将需要删除前导空格字符(如果存在)。没有其他方法,因为 JavaScript 不支持后向断言。

解释:

(^|\s)  # Match start of string or whitespace
icon-   # Match icon-
\S+     # Match one or more non-whitespace characters.
于 2012-07-25T11:32:09.813 回答
0

这是正则表达式:

\bicon-[^\b]+?\b

通过使用 \b,此表达式还可以在以下情况下匹配“icon-up”:

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

于 2012-07-25T11:48:22.130 回答
0

使用这个正则表达式: (^|\s)icon-\S+

于 2012-07-25T11:30:25.430 回答