Javascript和正则表达式调优-条带化字符串
从URL:Javascript和正则表达式调优-条带化字符串,javascript,regex,Javascript,Regex,从URL: https://www.flightstats.com/v2/historical-flight/TP/1478/2020/11/3/1047614176 我需要获得“2020/11/3” 我所拥有的 正则表达式: 它返回:对于完全匹配-“8/2020/1/3”,对于组1-“2020/1/3”。我已经测试了几个组合,并试图简化它,直到这个版本 Javascript: 是initialurl变量 问题 javascript返回:“8/2020/11/32020/11/3”,我
https://www.flightstats.com/v2/historical-flight/TP/1478/2020/11/3/1047614176
我需要获得“2020/11/3”
我所拥有的
- 正则表达式:
“8/2020/1/3”
,对于组1-“2020/1/3”
。我已经测试了几个组合,并试图简化它,直到这个版本
- Javascript:
initialurl
变量
问题
javascript返回:“8/2020/11/32020/11/3”
,我只需要/想要第1组匹配,或者如果完全匹配正确,就这样
上下文
- Javascript新手
- 我在Ui.Vision Kantu中使用这个
\d{4}\/\d{1,2}\/\d{1,2}
var initialurl='1!'https://www.flightstats.com/v2/historical-flight/TP/1478/2020/11/3/1047614176';
var myRe=/\d{4}\/\d{1,2}\/\d{1,2}/;
var myArray=myRe.exec(initialurl);
log(myArray)代码>如果您的URL将以所示格式可靠地显示,则可以这样做:
\d{4}\/\d{1,2}\/\d{1,2}
var initialurl='1!'https://www.flightstats.com/v2/historical-flight/TP/1478/2020/11/3/1047614176';
var myRe=/\d{4}\/\d{1,2}\/\d{1,2}/;
var myArray=myRe.exec(initialurl);
log(myArray)
Regexp-protips:如果您使用的是最新版本的JavaScript,您可以使用lookback来匹配第一个\d/
,但不能将其包含在结果中。@WashingtonGuedes虽然有效,但这是一个效率极低的正则表达式。在regex101切换到PHP,您将看到执行它需要2622个步骤;平均时钟为2ms。Regexp-protips:如果您使用的是最新版本的JavaScript,您可以使用lookback来匹配第一个\d/
,但不能将其包含在结果中。@WashingtonGuedes虽然有效,但这是一些非常低效的regex。在regex101切换到PHP,您将看到执行它需要2622个步骤;平均以2毫秒打卡。谢谢。工作得很有魅力。我使用“d{4}”进行了测试,但因为之前的数字有时也是4,所以它没有按预期工作。我还对月份部分使用“d{2}| d{1}”进行了测试,因为它可以有1或2个数字,但也不能100%工作。在你的帮助下,我学会了这句话:“d{1,2}”。@user1128912不客气。正如我在回答中提到的,这个正则表达式只有在你的URL被期望以那种精确的格式通过时才有用。因此,如果您有不同类型的预期URL,那么您应该添加它们的示例。URL结构与提供的一样:)谢谢。工作得很有魅力。我使用“d{4}”进行了测试,但因为之前的数字有时也是4,所以它没有按预期工作。我还对月份部分使用“d{2}| d{1}”进行了测试,因为它可以有1或2个数字,但也不能100%工作。在你的帮助下,我学会了这句话:“d{1,2}”。@user1128912不客气。正如我在回答中提到的,这个正则表达式只有在你的URL被期望以那种精确的格式通过时才有用。因此,如果您有不同类型的预期URL,那么您应该添加它们的示例。URL结构与提供的结构相同:)
\d{4}\/\d{1,2}\/\d{1,2}