是否有可能让w regexp模式允许诸如é吗?如果不是,还有什么替代方案呢?

Is it possible to let w regexp pattern to allow characters such as é as well? If not, what alternatives are there?

本文关键字:如果不 什么 方案 regexp 有可能 模式 #233 许诸如 是否      更新时间:2023-09-26

让我们假设我有一个regexp看起来像:

'w+

那么这个字符串将通过:

helloworld

但是这不会:

héllowörld

它会停在é (ö也会打破它),即使对人类来说,héllowörld听起来并不像一个单一的单词那么牵强。

是否有一种方法可以改进'w,使其也包含特殊的单词字符?或者我必须将每个特殊的拉丁字符附加到我的regexp中,像这样添加到:

['wéèåöä...........]+

因为尝试找出世界上所有不同的特殊拉丁字符是合理的,这似乎不是最好的选择。

我有什么选择?

'w匹配任何单词字符[a-zA-Z0-9_]。不匹配非英文字符

阅读这篇文章正则表达式匹配非英语字符?

有时我使用反向方法在其他字符之间匹配非英语字符。看看这个

var string = "你好 κόσμος привет šđčߣłćž çë asgfgrtzj 657 #$%&/()=?*!";

var pattern = /([^0-9]+)/gi;

将排除所有数字

你好 κόσμος привет šđčߣłćž çë asgfgrtzj #$%&/()=?*!";

将上面的特殊字符添加到模式

var pattern = /([^0-9#$%&/()=?*!]+)/gi;

最后的字符串看起来像下面的

你好 κόσμος привет šđčߣłćž çë asgfgrtzj