匹配正则表达式德语

时间:2014-09-18 12:31:25

标签: javascript regex

我使用两个正则表达式来匹配文本。

var RegExp = /[^\W\d](\w|[-'](?=\w))*/gi;
var RegExpOthers = /[^\W\d]{4,}(\w|[-']{1,2}(?=\w))*/gi;

目前,不会包含包含ä,ü,ö...(德语字母)等字母的Word。

如何扩展这些表达式?

2 个答案:

答案 0 :(得分:2)

这应该这样做:

[^\x00-\x7F]+

它匹配ASCII character set中未包含的任何字符(0-127,即0x0到0x7F)。您可以使用Unicode执行相同的操作:

[^\u0000-\u007F]+

答案 1 :(得分:1)

这是 Unicode 字符的主题。

在您的示例中,ä, ü, ö..不是单个字母而是2,因为代字号也算作字符。为了满足Unicode规则,这需要遵循许多复杂性和规则。

您可以执行以下操作:([\x{0049}-\x{0130}])以使用波浪线符合 i ,但此表达式可能会有所不同,具体取决于您是否要在.net,java,javascript或PHP。

Online Demo

您还可以检查每个字符代表的代码:

http://www.fileformat.info/info/unicode/char/search.htm?q=%C4%B0&preview=entity