源自 JavaScript 的 The Good Parts 是用于匹配 URL 的正则表达式。
伪代码(每个数字代表一个子表达式)
/^(1)(2)(3)(4)(5)(6)(7)$/
第 5 位是这个正则表达式和其他一些东西。
[^?#]*
很简单,它只是一个非字符类,可以匹配除?
or之外的所有内容#
之外的所有内容,因为这些稍后将用于匹配查询和片段标识符。
但是,我想用不使用的字符类替换它 -^
我不确定的第一件事是是否可以在路径中使用 Unicode。如果不能,我打算使用 ASCII 字符集。
澄清: 我不想使用负面展望,因为这模拟了一个非字符集。
参考: 这是完整的正则表达式,每个部分分为不同的行。
/^
(?:([a-zA-Z]+):)?
(\/{0,3})
([a-zA-Z0-9.\-]+)
(?::(\d+))?
(?:\/([^#?]*))?
(?:\?([^#]))?
(?:#(.*))?
$/