如何从头到尾进行匹配,以及在javascript

时间:2019-01-01 14:28:27

标签: javascript regex

我想从另一个文件main.js更改文件replace.js的字符串/行

我想基于计算机server动态更改ip属性

main.js

export const environment = {
  production: false,
  server: `http://localhost:3000`,
  apikey: `X199`
};

replace.js

const replace = require('replace-in-file')
const address = require('address')

replace({
    files: 'main.js',
    from: /^server:\..*3000,$/g,
    to: `http://${address.ip()}:3000`
})

我已经测试了多个正则表达式,但没有一个对我有用。

1 个答案:

答案 0 :(得分:1)

尝试使用

replace({
    files: 'main.js',
    from: /server:\s*[`'"]https?:\/\/.*?[`'"],/g,
    to: `server: 'http://${address.ip()}:3000',`
})

不需要锚标记^ $,因为字符串'server:http://localhost:3000'不在文件的开头,也不在文件的结尾。