我有一个使用此正则表达式搜索单词的单词过滤器:
/\b[a-zA-Z-]+\b/
搜索单词:“ hello”。
我如何设置单词边界以查找以数字,下划线,连字符或字母以外的其他任何字符开头/结尾的单词?
您可以使用
/(?<![^\W\d])[a-zA-Z]+(?![^\W\d])/
(?<![^\W\d])
后面的否定匹配与非单词和数字char以外的字符不紧随其后的位置,即,必须以字符串开头或字符char开头,但必须是数字。
(?![^\W\d])
否定前瞻匹配的位置不是紧随其后的是非单词和数字char以外的其他字符,即,必须有字符串的末尾或不是数字的单词char。