str.replace(/\w*(\ || --> 一个标记可以表示任何字符或字符串?<-- || )/g, function() {return "(" + arguments[0] + ") "})
问问题
12031 次
2 回答
4
点 ( .
) 匹配任何 (1) 个字符;.+
匹配长度至少为 1.*
的字符串,匹配长度至少为 0 的字符串。
于 2013-02-23T20:14:04.500 回答
3
句点用于表示任何不是换行符的字符,但要表示任何字符,您可以使用具有两个互补集的集合,例如所有字母数字字符和所有非字母数字字符:
str = str.replace(/\w*([\W\w])/g, "($1)");
这将匹配单个字符,如果要匹配多个字符,则必须指定多少个。[\W\w]{1,3}
例如将匹配一到三个字符。[\W\w]+
会将所有内容匹配到字符串的末尾。
请注意,对于这样的简单替换,您不需要回调,只需将字符串$1
替换为第一个捕获的值。
编辑:
想一想,由于字符遵循与字母数字字符匹配的集合,因此它必须是非字母数字,所以就可以了\W
:
str = str.replace(/\w*(\W)/g, "($1)");
于 2013-02-23T20:14:17.603 回答