Defining quoted text
ID: 166
using uCalcSoftware;
var uc = new uCalc();
// In example we'll define quoted text using < and > as
// surrounding quotes. Singe and double quotes ' and "
// are already defined by default. This is just an example.
// Quoted text must be defined as TokenType.Literal
// The last argument, 1, means that the literal part of the match will
// be the part of the regex found int the first parenthesis (here's
// there's only one set of parenthesis).
var t = uc.NewTransformer();
var SpecialQuotes = t.Tokens.Add("<([^>]*)>", TokenType.Literal, "", 1);
SpecialQuotes.SetDataType(BuiltInType.String);
SpecialQuotes.IsProperty(ItemIs.QuotedText, true);
t.Pattern("{token:1}");
Console.WriteLine(t.Filter("abc xyz 123.456 + 25e2").Matches.Text);
Console.WriteLine("");
// Based on the definition, the part within < and > is the literal part
// passed to the string + operator used by EvalStr
uc.ExpressionTokens.Add(SpecialQuotes);
Console.WriteLine(uc.EvalStr(" + < plus more>"));
abc
<some quoted text>
xyz
123.456
+
25e2
some quoted text plus more using uCalcSoftware; var uc = new uCalc(); // In example we'll define quoted text using < and > as // surrounding quotes. Singe and double quotes ' and " // are already defined by default. This is just an example. // Quoted text must be defined as TokenType.Literal // The last argument, 1, means that the literal part of the match will // be the part of the regex found int the first parenthesis (here's // there's only one set of parenthesis). var t = uc.NewTransformer(); var SpecialQuotes = t.Tokens.Add("<([^>]*)>", TokenType.Literal, "", 1); SpecialQuotes.SetDataType(BuiltInType.String); SpecialQuotes.IsProperty(ItemIs.QuotedText, true); t.Pattern("{token:1}"); Console.WriteLine(t.Filter("abc <some quoted text> xyz 123.456 + 25e2").Matches.Text); Console.WriteLine(""); // Based on the definition, the part within < and > is the literal part // passed to the string + operator used by EvalStr uc.ExpressionTokens.Add(SpecialQuotes); Console.WriteLine(uc.EvalStr("<some quoted text> + < plus more>"));
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
int main() {
uCalc uc;
// In example we'll define quoted text using < and > as
// surrounding quotes. Singe and double quotes ' and "
// are already defined by default. This is just an example.
// Quoted text must be defined as TokenType.Literal
// The last argument, 1, means that the literal part of the match will
// be the part of the regex found int the first parenthesis (here's
// there's only one set of parenthesis).
auto t = uc.NewTransformer();
auto SpecialQuotes = t.Tokens().Add("<([^>]*)>", TokenType::Literal, "", 1);
SpecialQuotes.SetDataType(BuiltInType::String);
SpecialQuotes.IsProperty(ItemIs::QuotedText, true);
t.Pattern("{token:1}");
cout << t.Filter("abc xyz 123.456 + 25e2").Matches().Text() << endl;
cout << "" << endl;
// Based on the definition, the part within < and > is the literal part
// passed to the string + operator used by EvalStr
uc.ExpressionTokens().Add(SpecialQuotes);
cout << uc.EvalStr(" + < plus more>") << endl;
}
abc
<some quoted text>
xyz
123.456
+
25e2
some quoted text plus more #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; int main() { uCalc uc; // In example we'll define quoted text using < and > as // surrounding quotes. Singe and double quotes ' and " // are already defined by default. This is just an example. // Quoted text must be defined as TokenType.Literal // The last argument, 1, means that the literal part of the match will // be the part of the regex found int the first parenthesis (here's // there's only one set of parenthesis). auto t = uc.NewTransformer(); auto SpecialQuotes = t.Tokens().Add("<([^>]*)>", TokenType::Literal, "", 1); SpecialQuotes.SetDataType(BuiltInType::String); SpecialQuotes.IsProperty(ItemIs::QuotedText, true); t.Pattern("{token:1}"); cout << t.Filter("abc <some quoted text> xyz 123.456 + 25e2").Matches().Text() << endl; cout << "" << endl; // Based on the definition, the part within < and > is the literal part // passed to the string + operator used by EvalStr uc.ExpressionTokens().Add(SpecialQuotes); cout << uc.EvalStr("<some quoted text> + < plus more>") << endl; }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
'// In example we'll define quoted text using < and > as
'// surrounding quotes. Singe and double quotes ' and "
'// are already defined by default. This is just an example.
'// Quoted text must be defined as TokenType.Literal
'// The last argument, 1, means that the literal part of the match will
'// be the part of the regex found int the first parenthesis (here's
'// there's only one set of parenthesis).
Dim t = uc.NewTransformer()
Dim SpecialQuotes = t.Tokens.Add("<([^>]*)>", TokenType.Literal, "", 1)
SpecialQuotes.SetDataType(BuiltInType.String)
SpecialQuotes.IsProperty(ItemIs.QuotedText, true)
t.Pattern("{token:1}")
Console.WriteLine(t.Filter("abc xyz 123.456 + 25e2").Matches.Text)
Console.WriteLine("")
'// Based on the definition, the part within < and > is the literal part
'// passed to the string + operator used by EvalStr
uc.ExpressionTokens.Add(SpecialQuotes)
Console.WriteLine(uc.EvalStr(" + < plus more>"))
End Sub
End Module
abc
<some quoted text>
xyz
123.456
+
25e2
some quoted text plus more Imports System Imports uCalcSoftware Public Module Program Public Sub Main() Dim uc As New uCalc() '// In example we'll define quoted text using < and > as '// surrounding quotes. Singe and double quotes ' and " '// are already defined by default. This is just an example. '// Quoted text must be defined as TokenType.Literal '// The last argument, 1, means that the literal part of the match will '// be the part of the regex found int the first parenthesis (here's '// there's only one set of parenthesis). Dim t = uc.NewTransformer() Dim SpecialQuotes = t.Tokens.Add("<([^>]*)>", TokenType.Literal, "", 1) SpecialQuotes.SetDataType(BuiltInType.String) SpecialQuotes.IsProperty(ItemIs.QuotedText, true) t.Pattern("{token:1}") Console.WriteLine(t.Filter("abc <some quoted text> xyz 123.456 + 25e2").Matches.Text) Console.WriteLine("") '// Based on the definition, the part within < and > is the literal part '// passed to the string + operator used by EvalStr uc.ExpressionTokens.Add(SpecialQuotes) Console.WriteLine(uc.EvalStr("<some quoted text> + < plus more>")) End Sub End Module