Difference between revisions of "Regular expression syntax"

From JRiverWiki
Jump to: navigation, search
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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).
+
The [[Regex()]] function in Media Center's expression language supporting regular expression pattern matching is implemented using external regular expression libraries.
  
== Media Center 19 ==
+
== Media Center 26 and Later ==
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 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 Boost regex syntax option used is one of the three offered by Boost: Perl, POSIX extended, POSIX Basic.
+
== Media Center 19 and Later ==
 +
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 ==
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].
+
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 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].
+
[[Category:Expression Functions]]
 
 
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 01: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

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

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

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