【发布时间】:2011-09-29 13:02:21
【问题描述】:
在 Java 正则表达式中,您可以在字符类中使用交集运算符 && 来简洁地定义它们,例如
[a-z&&[def]] // d, e, or f
[a-z&&[^bc]] // a through z, except for b and c
在 JavaScript 中有没有等价物?
【问题讨论】:
-
看不到第一个例子的意义,因为它相当于
[def]。我错过了什么吗?第二个是有道理的(而且很酷)。 -
无论如何它不会有太大用处,因为 JavaScript 有有限的速记字符类,并且不支持 Unicode。我想它可能对 Unicode 范围很有用,但它并没有节省太多的打字时间。你到底需要什么?
-
@Kobi:“不支持 Unicode”是什么意思? JavaScript 原生使用 Unicode(特别是 UTF-16)并支持正则表达式中的 Unicode 转义序列,包括字符类。
-
@TJ - 我指的是 JavaScript 的正则表达式,而不是整个 JavaScript。它不能使
'אבג'.match(/\w+/)匹配(即没有/u标志),并且没有\p{L}速记字符类。当然,您可以自己定义它们,但这并不好玩。 -
@T.J.:我知道你对第一个例子的意思——我猜他们不想因为有用而分散我们的注意力?
标签: java javascript regex