我正在尝试捕获字符串中的每个单词,除了'和'。我还想捕捉被* this *等星号包围的单词。我正在使用的正则表达式命令主要起作用,但是当它用星号捕获一个单词时,它将省略第一个单词(因此* * *只会捕获此*)。这是我正在使用的正则表达式:
/((?!and\b)\b[\w*]+)/gi
当我删除最后一个单词边界时,它将捕获所有* this *但不会遗漏任何'和#39;第
答案 0 :(得分:1)
问题是*
不被视为单词字符,因此\b
与之前的位置不匹配。我想你可以用以下代替它:
^(?!and\b)([\w*]+)|((?!and\b)(?<=\W)[\w*]+)
\ b补充了\ W(非单词字符)以匹配*
,然而字符串中的第一个单词将不匹配,因为不在非单词字符之前。这就是我添加替代品的原因。