如何按单词边界或数字拆分?

How to split by Word Boundary or a Number?

我有一个使用此正则表达式搜索单词的单词过滤器:

/\b[a-zA-Z-]+\b/

正在搜索单词:"hello"。

如何设置单词边界以查找 start/end 带有数字、下划线、连字符或除字母以外的任何其他字符的单词?

您可以使用

/(?<![^\W\d])[a-zA-Z]+(?![^\W\d])/

(?<![^\W\d]) 否定后视匹配一个位置,该位置不是紧接在非单词和数字字符之外的字符前面,即必须有字符串开头或单词字符但数字.

(?![^\W\d]) 否定先行匹配一个位置,该位置没有紧跟一个非单词和数字字符以外的字符,即必须有字符串结尾或字符字符而不是 a数字.