java - GWT 正则表达式结果与 Java 中的相同正则表达式不同

标签 java regex gwt

我需要一个正则表达式来测试某人可能的名字。它应包含拉丁字母、西里尔字母、空白字符和 _符号。

在Java中,我编写了以下正则表达式,看起来这就是我需要的:

String regex = "([\\w&&\\D]|[\\u0410-\\u044F]|[\\s])+"

在 GWT 中,这并不按预期工作:它接受 #$%^ ...等标志。我必须将第一组写为 [a-zA-Z_]得到我想要的东西:字母和 _标志。

而且,在我修改之前,有一个旧的正则表达式,看起来像

String regex = "([\\w&&\\D]+|[\\u0410-\\u044F]+|[\\s]+)";

根据我的 Java 经验,它应该只接受由拉丁字母和 _ 组合而成的单词。符号,或仅由西里尔字母或空格单词组合而成的单词。但实际上在 GWT 中它接受所有单词,甚至 &*( ...等标志。

所以问题是:

1) 为什么是[\\w&&\\D]不等于[a-zA-Z_]在 GWT 中?

2) 为什么 [...]+|[...]+|[...]+在 GWT 中的行为类似于 ([...]|[...]|[...])+在Java 中?

最佳答案

GWT 生成 JS,所以原因可能是 JS 和 Java 之间的正则表达式差异。

关于java - GWT 正则表达式结果与 Java 中的相同正则表达式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20655650/

相关文章:

用于查找 { 和数字组合的 Java 正则表达式

java - 使用预定义的scrypt文件通过Spring自动生成sql表

java - TLS 服务器接受来自客户端的连接,即使服务器信任库中不存在客户端证书?为什么?

php - DOM文档/DOMXPath

css - GWT "Template with variable in CSS attribute context"警告不好?

java - 如何使用 TextCell 对象作为 CellList<String> 构造函数的参数来实例化 CellList<String> 对象?

java - 如何使用java中的动态类加载来加载同一类的多个版本

java - 仅当字符串中的字符未转义时才匹配正则表达式

javascript - Typescript 中的正则表达式匹配值

java - GWT:是否可以在添加下一个子项之前但在 CSS 规则应用于该子项之后检查父项大小?