【问题标题】:Diacritcs in GWT regexGWT 正则表达式中的变音符号
【发布时间】:2012-03-05 17:51:36
【问题描述】:

如果我尝试匹配带有变音符号的正则表达式字符串(类似于 ^[a-zA-Z0-9áàAÁÁ ]{0,100}$),它将匹配服务器端的 Báhhh(我调用了两次相同的验证)但会在客户端失败。我已经更改了java类的编码,但仍然不匹配。

是否有一个特殊的 gwt 正则表达式类用于变音符号或者我错过了什么?

【问题讨论】:

    标签: java regex gwt diacritics


    【解决方案1】:

    奇怪,/^[a-zA-Z0-9áàAÁÁ ]{0,100}$/.test('Báhhh') 在 Chrome 的 JS 控制台中为我返回了 true

    我怀疑这是 Unicode 问题,á 可以用多种方式编码:U+0061 U+0301、U+0061 U+0341 或 U+00E1。

    不妨试试/^(?:[a-zA-Z][\u0301\u0341]?|[áàÁÁ0-9 ]){0,100}$/

    【讨论】:

    • 不,尽管如前所述,在控制台中一切正常,但在客户端,gwt 正则表达式的验证方式不同!
    • 现在,它开始工作了......我并没有真正改变太多,我改变了课堂上的结尾,但我确定我之前尝试过,但没有成功!跨度>
    【解决方案2】:

    Java 和 JavaScript 正则表达式在实现上存在差异,可能并不总是清晰可见。我建议您对每种情况使用不同的验证器 - 看看 RegExp in GWT 类:

    两者之间有一些小的不兼容 实施。正则表达式中特定于 Java 的结构 语法(例如 [a-z&&[^bc]]、(?

    【讨论】:

      猜你喜欢
      • 2014-03-27
      • 2011-08-13
      • 2015-10-16
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多