我是正则表达式的新手.我试图在一个不包含换行符的字符串中匹配任何以'#'开头的单词(内容已经在换行符中分割).
示例(不工作):
var string = "#iPhone should be able to compl#te and #delete items"
var matches = string.match(/(?=[\s*#])\w+/g)
// Want matches to contain [ 'iPhone', 'delete' ]
Run Code Online (Sandbox Code Playgroud)
我试图匹配'#'的任何实例,并在它之后抓住它,只要它后面至少有一个字母,数字或符号.空格或换行符应该结束匹配.'#'应该以字符串开头或以空格开头.
这个PHP解决方案看起来不错,但它使用了一种向后看的类型的功能,我不知道JS正则表达式有哪些: regexp保持/匹配任何以某个字符开头的单词
var re = /(?:^|\W)#(\w+)(?!\w)/g, match, matches = [];
while (match = re.exec(s)) {
matches.push(match[1]);
}
Run Code Online (Sandbox Code Playgroud)
查看此演示.
归档时间: |
|
查看次数: |
18611 次 |
最近记录: |