如何使用正则表达式在起始文本和结束字符之间获取字符串?

时间:2018-07-18 12:47:59

标签: c# regex

我想获取以 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)"

如何为此编写正则表达式?

1 个答案:

答案 0 :(得分:1)

好像在引号内一样,您希望能够找到具有某种函数调用的文本。如果是这种情况,则此正则表达式将匹配1-3行,但不匹配4-6行。如果遇到更多字符,可以继续扩展[]中允许的字符。

this one

^color=\"([a-zA-Z.! &])+\(.+\)*\"$