我有这个代码,如果有一个参数且值为Window: String
const str = `fnct1(param: Int, Window: String): String func2(Window: String): String function3(param: String): String`;
const regex = /[^\s(]+\(Window:\s*String\): [^(\s]+\s*/gm;
const result = str.replace(regex, '');
console.log(result);
这对我很有用并且返回fnct1(param: Int, Window: String): String function3(param: String): String
我在正则表达式中有硬编码Window: String
,现在我想让它变得通用,因为类型可以是任何东西,并且我为Window: String
做了同样的事情
可能是
const str = `fnct1(param: Int, Window: String): String func2(Window: Int): String function3(param: String): String`;
const str = `fnct1(param: Int, Window: String): String func2(Window: String): String function3(param: String): String`;
有谁知道怎么做?
答案 0 :(得分:2)
您希望在Window:
和0+空格之后替换任何一个或多个单词。
您可以使用
/[^\s(]+\(Window:\s*\w+\):\s*[^(\s]+\s*/g
请参阅regex demo。
var str = "fnct1(param: Int, Window: String): String func2(Window: String): String function3(param: String): String";
var regex = /[^\s(]+\(Window:\s*\w+\):\s*[^(\s]+\s*/g;
var result = str.replace(regex, '');
console.log(result);
模式详情
[^\s(]+
- 除了空格和(
\(Window:
- (Window:
子字符串\s*
- 0+ whitespaces \w+
- 一个或多个字符(ASCII字母,数字或/和_
)\):
- ):
子字符串\s*
- 0+ whitespaces [^(\s]+
- 除了空格和(
\s*
- 0+ whitespaces