RegexBuddy

Last updated
RegexBuddy
Original author(s) Jan Goyvaerts [1]
Developer(s) Just Great Software Co. Ltd.
Stable release
4.14.0 [2] / November 23, 2022 (2022-11-23) [2]
Operating system Microsoft Windows
Type Programming tool
License Commercial
Website regexbuddy.com

RegexBuddy is a regular expression programming tool by Just Great Software Co. Ltd. for the Microsoft Windows operating system. It provides an interface for building, testing, and debugging regular expressions, in addition to a library of commonly used regular expressions, an interface for generating code to use regular expressions in the desired programming environment, a graphical grep tool for searching through files and directories, and an integrated forum for seeking and providing regular expression advice with other RegexBuddy users.

Contents

RegexBuddy's regular expression engine allows the software to emulate the rules and limitations of numerous popular regular expression flavors.

Supported regular expression flavors

15 regular expression flavors are supported as of RegexBuddy 4.1.1.

JGsoft
An engine developed by the company that produces RegexBuddy. The JGsoft flavor is designed as a fusion flavor, and hence supports most syntax from other popular flavors.
.NET
The System.Text.RegularExpressions.Regex class in the .NET Framework, used by programming languages such as C# and Visual Basic .NET.
Java
The regular expression flavor of the java.util.regex package, available in the JDK 1.4 and later.
Perl
The regular expression flavor used in the Perl programming language version 5.8.
PCRE
Version 10.36 of Philip Hazel's open source Perl Compatible Regular Expressions library, used by PHP/preg and REALbasic.
JavaScript
The regular expression syntax defined in the third edition of ECMA-262, which standardizes JavaScript.
Python
The regular expression flavor supported by Python's built-in re module.
Ruby
The regular expression flavor built into the programming language.
Tcl ARE
The Tcl Advanced Regular Expressions flavor.
POSIX BRE
POSIX Basic Regular Expressions, defined in the IEEE POSIX regular expression standard.
POSIX ERE
POSIX Extended Regular Expressions, defined in the IEEE POSIX regular expression standard.
GNU BRE
The POSIX BRE flavor with GNU extensions. Used by the GNU implementations of traditional UNIX commands like grep, sed, and awk.
GNU ERE
The POSIX ERE flavor with GNU extensions. Used by the GNU implementations of traditional UNIX commands like grep, sed, and awk.
XML Schema
The regular expression flavor defined in the W3C XML Schema standard.
XPath
The regular expression flavor defined in the W3C XPath standard; used in XPath 2.0, XSLT 2.0 and XQuery 1.0.

RegexBuddy allows generating code for a further extended number of environments, based on the above flavors.

Supported modifiers

In cases where the selected flavor does not support one or more of the above modifiers, the option is disabled.

Versions

Related Research Articles

<span class="mw-page-title-main">AWK</span> Programming language

AWK is a domain-specific language designed for text processing and typically used as a data extraction and reporting tool. Like sed and grep, it is a filter, and is a standard feature of most Unix-like operating systems.

<span class="mw-page-title-main">Regular expression</span> Sequence of characters that forms a search pattern

A regular expression is a sequence of characters that specifies a match pattern in text. Usually such patterns are used by string-searching algorithms for "find" or "find and replace" operations on strings, or for input validation. Regular expression techniques are developed in theoretical computer science and formal language theory.

sed Standard UNIX utility for editing streams of data

sed is a Unix utility that parses and transforms text, using a simple, compact programming language. It was developed from 1973 to 1974 by Lee E. McMahon of Bell Labs, and is available today for most operating systems. sed was based on the scripting features of the interactive editor ed and the earlier qed. It was one of the earliest tools to support regular expressions, and remains in use for text processing, most notably with the substitution command. Popular alternative tools for plaintext string manipulation and "stream editing" include AWK and Perl.

<span class="mw-page-title-main">Shell script</span> Script written for the shell, or command line interpreter, of an operating system

A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manipulation, program execution, and printing text. A script which sets up the environment, runs the program, and does any necessary cleanup or logging, is called a wrapper.

XSLT is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG. Support for JSON and plain-text transformation was added in later updates to the XSLT 1.0 specification.

grep is a command-line utility for searching plain-text data sets for lines that match a regular expression. Its name comes from the ed command g/re/p, which has the same effect. grep was originally developed for the Unix operating system, but later available for all Unix-like systems and some others such as OS-9.

<span class="mw-page-title-main">Henry Spencer</span> Canadian computer programmer

Henry Spencer is a Canadian computer programmer and space enthusiast. He wrote "regex", a widely used software library for regular expressions, and co-wrote C News, a Usenet server program. He also wrote The Ten Commandments for C Programmers. He is coauthor, with David Lawrence, of the book Managing Usenet. While working at the University of Toronto he ran the first active Usenet site outside the U.S., starting in 1981. His records from that period were eventually acquired by Google to provide an archive of Usenet in the 1980s.

In computing, RELAX NG is a schema language for XML—a RELAX NG schema specifies a pattern for the structure and content of an XML document. A RELAX NG schema is itself an XML document but RELAX NG also offers a popular compact, non-XML syntax. Compared to other XML schema languages RELAX NG is considered relatively simple.

The printf family of functions in the C programming language are a set of functions that take a format string as input among a variable sized list of other values and produce as output a string that corresponds to the format specifier and given input values. The string is written in a simple template language: characters are usually copied literally into the function's output, but format specifiers, which start with a % character, indicate the location and method to translate a piece of data to characters. The design has been copied to expose similar functionality in other programming languages.

In computer programming, glob patterns specify sets of filenames with wildcard characters. For example, the Unix Bash shell command mv *.txttextfiles/ moves all files with names ending in .txt from the current directory to the directory textfiles. Here, * is a wildcard standing for "any string of characters except /" and *.txt is a glob pattern. The other common wildcard is the question mark (?), which stands for one character. For example, mv?.txtshorttextfiles/ will move all files named with a single character followed by .txt from the current directory to directory shorttextfiles, while ??.txt would match all files whose name consists of 2 characters followed by .txt.

Perl Compatible Regular Expressions (PCRE) is a library written in C, which implements a regular expression engine, inspired by the capabilities of the Perl programming language. Philip Hazel started writing PCRE in summer 1997. PCRE's syntax is much more powerful and flexible than either of the POSIX regular expression flavors and than that of many other regular-expression libraries.

This is a comparison of regular expression engines.

XPath is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) in 1999, and can be used to compute values from the content of an XML document. Support for XPath exists in applications that support XML, such as web browsers, and many programming languages.

The structure of the Perl programming language encompasses both the syntactical rules of the language and the general ways in which programs are organized. Perl's design philosophy is expressed in the commonly cited motto "there's more than one way to do it". As a multi-paradigm, dynamically typed language, Perl allows a great degree of flexibility in program design. Perl also encourages modularization; this has been attributed to the component-based design structure of its Unix roots, and is responsible for the size of the CPAN archive, a community-maintained repository of more than 100,000 modules.

TRE is an open-source library for pattern matching in text, which works like a regular expression engine with the ability to do approximate string matching. It was developed by Ville Laurikari and is distributed under a 2-clause BSD-like license.

<span class="mw-page-title-main">XML transformation language</span> Type of programming language

An XML transformation language is a programming language designed specifically to transform an input XML document into an output document which satisfies some specific goal.

The following outline is provided as an overview of and topical guide to the Perl programming language:

RE2 is a software library for regular expressions via a finite-state machine using automata theory, in contrast to almost all other regular expression libraries, which use backtracking implementations. It provides a C++ interface.

References

  1. "About Just Great Software".
  2. 1 2 "RegexBuddy Version History".