Regular expression syntax: Difference between revisions

From wiki.jriver.com
Jump to navigation Jump to search
No edit summary
No edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The [[Regex()]] function in Media Center's expression language supporting regular expression pattern matching is implemented using external regular expression libraries.
Media Center's expression language [[Expression_Language#Regex.28.E2.80.A6.29:_Regular_expression_pattern_matching_and_capture|regex() function]] employs regular expressions (regexs).


== Media Center 19 ==
== Media Center 26 and Later ==
Media Center 26 and later uses the standard regex implementation available in newer versions of C++, using the default ECMAScript grammar. It's the same syntax as the boost regex, just without a megabyte or two of additional dependencies. Note that this update may have occurred earlier than Media Center 26, [https://yabb.jriver.com/interact/index.php/topic,124543.msg870473.html#msg870473 but was first mentioned during its development cycle.]
The regex engine is from the Boost C++ library (version 1.54). The Boost library regex programmers' documentation is [http://www.boost.org/doc/libs/1_55_0/libs/regex/doc/html/boost_regex/syntax.html here].


== Media Center 19 and Later ==
The Boost regex syntax option used is one of the three offered by Boost: Perl, POSIX extended, POSIX Basic.
In Media Center 19, the [[Regex()]] function is implemented using the Boost C++ library, version 1.54. While Boost supports several flavors of regular expressions, the mode enabled in Media Center is the [http://www.boost.org/doc/libs/1_54_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html Perl Regular Expression Syntax].


== Media Center 18 and earlier ==
== Media Center 18 and Earlier ==
In Media Center 18 and earlier, the [[Regex()]] function was implemented using the [http://msdn.microsoft.com/en-us/library/bb982727(v=vs.100).aspx Microsoft 2010 TR1 engine].
The regex implementation has been [http://wiki.jriver.com/index.php?title=Expression_Language&oldid=9164#Regex.28.E2.80.A6.29:_Regular_expression_pattern_matching_and_capture reported] to be the Microsoft 2010 TR1 engine. This is presumed to be a reference to the Microsoft Visual Studio 2010 Standard C++ Library TR1 engine. Programmers' documentation is [http://msdn.microsoft.com/en-us/library/bb982727(v=vs.100).aspx here].


[[Category:Expression Functions]]
The TR1 implementation is reported to be based on the Boost library [http://en.wikipedia.org/wiki/C%2B%2B_Technical_Report_1#Regular_expressions here].

It is supposed that Media Center versions before 2010 used the Standard C++ Library TR1 engine from earlier versions of Visual Studio. Failure of compatibility between different version of this engine have been reported, e.g. [http://connect.microsoft.com/VisualStudio/feedback/details/558339 here].

Latest revision as of 06:55, 14 June 2020

The Regex() function in Media Center's expression language supporting regular expression pattern matching is implemented using external regular expression libraries.

Media Center 26 and Later[edit]

Media Center 26 and later uses the standard regex implementation available in newer versions of C++, using the default ECMAScript grammar. It's the same syntax as the boost regex, just without a megabyte or two of additional dependencies. Note that this update may have occurred earlier than Media Center 26, but was first mentioned during its development cycle.

Media Center 19 and Later[edit]

In Media Center 19, the Regex() function is implemented using the Boost C++ library, version 1.54. While Boost supports several flavors of regular expressions, the mode enabled in Media Center is the Perl Regular Expression Syntax.

Media Center 18 and Earlier[edit]

In Media Center 18 and earlier, the Regex() function was implemented using the Microsoft 2010 TR1 engine.