当然,英语对于正则表达式来说是易如反掌的,因为它最初就是在/针对它开发的:
正则表达式能理解这个字符集吗?
法语涉及一些带重音的字符,我不确定如何匹配 - 即 è 和 e 是否都被正则表达式视为单词字符?
Les expressions régulières peuvent-elles comprendre ce jeu de caractères?
日语中没有我所知道的正则表达式单词字符可供匹配。
正規表現はこの文字集合を理解できますか?
当然,英语对于正则表达式来说是易如反掌的,因为它最初就是在/针对它开发的:
正则表达式能理解这个字符集吗?
法语涉及一些带重音的字符,我不确定如何匹配 - 即 è 和 e 是否都被正则表达式视为单词字符?
Les expressions régulières peuvent-elles comprendre ce jeu de caractères?
日语中没有我所知道的正则表达式单词字符可供匹配。
正規表現はこの文字集合を理解できますか?
\p{L}
和所有以/p{ }
开头的都是针对PCRE的。那我们来谈谈PCRE吧。 - undefined"[\p{L}]" 这个正则表达式包含了所有语言的大小写字母,例如(a-z A-Z ä ß è 正 の文字を理解)等字符可以接受,然而类似(, . ? > :)或其他符号无法匹配。
$ % & * ¥ √
是被接受的,但不应该被接受。有时候 ß
也不被接受,为什么呢?在线的正则表达式工具,比如“regexr.com”(被认为是最好的)也存在很多问题。你们的编码是应用于PCRE引擎,对吗?我看到它并不是100%有效的。它接受了一些字符,拒绝了其他应该被接受的字符。是否有PHP函数可以检测一个字符是否真正属于现有的字母表,而不是数学符号或类似的东西? - undefined一般来说,正则表达式更适用于理解机器可读性文本而非人类可读性文本。在许多方面上,它是对整个XML与正则表达式的更普遍的答案;正则表达式本质上无法正确地解析人类语言,因为语言比您用来解析它的工具更加复杂。
如果您想要分解人类语言(包括英语),您需要使用语言分析工具甚至是人工智能,而不仅仅是普通的正则表达式。
/[\p{Latin}]/
应该包括拉丁字母。您可以在这里获得完整的解释和参考资料。
这不是关于正则表达式本身,而是关于执行它的框架。我认为Java和.NET在处理Unicode方面非常出色。因此,“è和e都被正则表达式视为单词字符”是正确的。
这取决于实现和字符集。一般来说,答案是“是”,但可能需要您进行额外的设置。
例如,在Perl中,像\w这样的东西的含义会受所选择的语言环境(使用locale)的影响。
这个Stack Overflow的帖子可能会有所帮助。它包括了你可以在正则表达式中使用的Unicode字符类别(例如,[Ll]代表所有小写字母,不论语言)。