-4

你知道(^|\s)下面表达式中的目的吗?

/(^|\s)(apple|orange|lemon)(\s|$)/.test(foo);
4

3 回答 3

3

(^|\s)匹配字符串的开头或空白字符。

因此,如果字符串显示“apple it is”或“I want an apple”,它将匹配。

请注意,在第一种情况下,它将匹配“apple”,在第二种情况下,它将匹配“apple”。

注意匹配的额外空间。如果不需要该行为,则应使用单词边界(由 给出\b)。

例如:

/\b(apple|orange|lemon)\b/

这将允许所有匹配的苹果完全匹配“苹果”(而不是“苹果”或其他变体)。

于 2012-09-04T10:15:28.353 回答
2

表示字符串开头 ( ^)空格字符 ( \s)。

所以它应该在以下情况下匹配:"apple", " apple".

于 2012-09-04T10:13:50.430 回答
0

这意味着正则表达式匹配以空格 ( ) 开头的字符串 ( )^或 ( |) 的其他内容(正则表达式的其余部分)的开头\s

于 2012-09-04T10:15:21.143 回答