我想将 URL 主机部分与 JavaScript 中的正则表达式匹配。假设我有一个 URL
var str = 'www.demo-site.com:1234'
Run Code Online (Sandbox Code Playgroud)
我设计了下面的正则表达式来匹配它
var regex = /^www\.demo-site\.com(:\d+)$/gi
Run Code Online (Sandbox Code Playgroud)
正如我所料,regex.test(str)返回true. 但是,如果我再次运行它,它会返回 false。为什么运行完全相同的函数两次的结果不同?
regex.test(str); //returns true
regex.test(str); //returns false
那是因为搜索从每次调用的前一个匹配开始test:
在同一个全局正则表达式实例上多次调用 test 将超过前一个匹配项。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
| 归档时间: |
|
| 查看次数: |
422 次 |
| 最近记录: |