using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"Vue[\s]*\.[\s]*component\(([""'`].*[""'`]([\s]*|.*)),(([\s]*|.*)+?(\}\))[^\{])";
string input = @"import { ViewIndex } from ""../../../../Utils.js"";
Vue.component('tab-control' , {
template: ViewIndex.getViewSync(""tab-control""),
data() {
return { tabs: this.$children ? this.$children : [] };
},
created() {
this.tabs = this.$children;
},
methods: {
selectTab(selectedTab) {
this.tabs.forEach(tab => {
tab.isActive = (tab.name == selectedTab.name);
});
}
}
}
);
Vue.component('tab-page', {
template: `
<div v-show=""isActive"">
<slot></slot>
</div>
`,
props: {
name: { required: true },
selected: { default: false },
},
data() {
return {
isActive: false
};
},
mounted() {
this.isActive = this.selected;
}
})
";
RegexOptions options = RegexOptions.Multiline;
Match m = Regex.Match(input, pattern, options);
Console.WriteLine("'{0}' found at index {1}", m.Value, m.Index);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx