这是我们遇到的一个差异,我在任何地方都没有看到记录,所以我将在这里发布它和解决方案,希望它能对某人有所帮助。
我们使用“[AZ-[QVX]]”语法测试“一些但不是全部”字符类,例如“A 到 Z,但不是 Q、V 或 X”。不知道我们在哪里找到它,不知道它是否有文档记录,但它可以在 .Net 中运行。
例如,在 Powershell 中,使用 .Net 正则表达式类,
[regex]::ismatch("K", "^[A-Z-[QVX]]$")
Run Code Online (Sandbox Code Playgroud)
返回真。在 JavaScript 中测试相同的输入和模式,它会返回 false,但在 JavaScript 中测试“K”和“^[AZ]$”,它会返回 true。
您可以使用更正统的负向先行方法来表达“A 到 Z,但不是 Q、V 或 X”,例如“^(?![QVX])[AZ]$”,这在 Powershell 和(现代) JavaScript。
鉴于 Ben Atkin 上面关于 IE6 和 IE7 不支持前瞻的观点,以万无一失(或防 IE7)的方式做到这一点的唯一方法可能是扩展表达式,例如“[AZ-[QVX] ” -> “ABCDEFGHIJKLMNOPRSTUWYZ”。哎哟。
首先,一些资源:
以下是一些差异:
x(?=y)示例。)(?<foo>)| 归档时间: |
|
| 查看次数: |
12726 次 |
| 最近记录: |