我想获取以 color =“ 和结束双引号开头并带有括号()且带有或不带有参数的字符串,有时在行。我只想选择匹配的起始词和结束引号。
这是我的输入文件
color="functions.getcolor('someinput')"
color="getcolor()"
color="!model.type && functions.getcolor(model.type, cofig.value)"
color="model.type == enums.someenum"
color="(something=something)||(Something=somethingelse)"
color="model.type" mode="getmode()"
这是我的正则表达式
color=\".+\(.+\)*\"$
我当前的输出是输入文件中第4行以外的所有行都被选中 但我的要求是要选择与前三行文本相似的行。
预期结果
color="functions.getcolor('someinput')"
color="getcolor()"
color="!model.type && functions.getcolor(model.type, cofig.value)"
如何为此编写正则表达式?
答案 0 :(得分:1)
好像在引号内一样,您希望能够找到具有某种函数调用的文本。如果是这种情况,则此正则表达式将匹配1-3行,但不匹配4-6行。如果遇到更多字符,可以继续扩展[]中允许的字符。
^color=\"([a-zA-Z.! &])+\(.+\)*\"$