RE2 (software)
RE2 is a software library which implements a regular expression engine. It uses finite-state machines, in contrast to most other regular expression libraries. RE2 supports a C++ interface. RE2 was implemented by Google and Google uses RE2 for Google products. RE2 uses an "on-the-fly" deterministic finite-state automaton algorithm based on Ken Thompson's Plan 9 grep. Comparison to PCRE RE2 performs comparably to Perl Compatible Regular Expressions (PCRE). For certain regular expression operators like , (the operator for alternation or logical disjunction) it is superior to PCRE. Unlike PCRE, which supports features such as lookarounds, backreferences and recursion, RE2 is only able to recognize regular languages due to its construction using the Thompson DFA algorithm. It is also slightly slower than PCRE for parenthetic capturing operations. PCRE can use a large recursive stack with corresponding high memory usage and result in exponential runtime on certain patterns ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
Cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the Interpreter (computing), interpreters or run-time packages are common or standard components of all supported platforms. For example, a cross-platform application software, application may run on Linux, macOS and Microsoft Windows. Cross-platform software may run on many platforms, or as few as two. Some frameworks for cross-platform development are Codename One, ArkUI-X, Kivy (framework), Kivy, Qt (software), Qt, GTK, Flutter (software), Flutter, NativeScript, Xamarin, Apache Cordova, Ionic (mobile app framework ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
Regular Language
In theoretical computer science and formal language theory, a regular language (also called a rational language) is a formal language that can be defined by a regular expression, in the strict sense in theoretical computer science (as opposed to many modern regular expression engines, which are Regular expression#Patterns for non-regular languages, augmented with features that allow the recognition of non-regular languages). Alternatively, a regular language can be defined as a language recognised by a finite automaton. The equivalence of regular expressions and finite automata is known as Kleene's theorem (after American mathematician Stephen Cole Kleene). In the Chomsky hierarchy, regular languages are the languages generated by regular grammar, Type-3 grammars. Formal definition The collection of regular languages over an Alphabet (formal languages), alphabet Σ is defined recursively as follows: * The empty language ∅ is a regular language. * For each ''a'' ∈ Σ (''a'' ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
Comparison Of Regular Expression Engines
This is a comparison of regular expression engines. Libraries Languages {, class="wikitable sortable" style="width: auto; table-layout: fixed;" , + List of languages and frameworks including regular expression support , - ! Language ! Official website ! Software license ! Remarks , - ! , ActionScript 3 ActionScript Technology Center, , style="text-align: left;" , , - ! , APL (APLX, Dyalog, GNU) APL Wiki, , style="text-align: left;" , ⎕SS (PCRE), ⎕R/⎕S (PCRE), ⎕SS (PCRE2), respectively , - ! , C++11 ( C++) C++ standards website, , style="text-align: left;" , Since ISO14822:2011(e), similar to ECMAScript on defaul(Grammar Description), - ! , D D, , style="text-align: left;" , , - ! , Elixir elixir-lang.org, style="text-align: center;" {{free, Apache 2.0 , style="text-align: left;" , Standard library includes PCRE-baseRegex module The matching algorithms of the library are based on the PCRE library, but not all of the PCRE library is inter ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
OpenResty
OpenResty is an nginx distribution which includes the LuaJIT interpreter for Lua scripts. The software was created by Yichun Zhang. It was originally sponsored by Taobao before 2011 and was mainly supported by Cloudflare from 2012 to 2016. Since 2017, it has been mainly supported by OpenResty Software Foundation and OpenResty Inc. OpenResty is designed to build scalable web applications, web services, and dynamic web gateways. The OpenResty architecture is based on several nginx modules which have been extended in order to expand nginx into a web app server to handle large number of requests. OpenResty aims to run Lua server-side applications completely in the Nginx server, leveraging its event model to do non-blocking I/O not only for client connections, but also with remote resources, such as databases. History In October 2007, OpenResty began at Yahoo! China as an Open API web service framework written mostly in Perl. Its README at CPAN describes it as "A REST wrapper fo ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
ReDoS
A regular expression denial of service (ReDoS) is an algorithmic complexity attack that produces a denial-of-service by providing a regular expression and/or an input that takes a long time to evaluate. The attack exploits the fact that many regular expression implementations have super-linear worst-case complexity; on certain regex-input pairs, the time taken can grow polynomially or exponentially in relation to the input size. An attacker can thus cause a program to spend substantial time by providing a specially crafted regular expression and/or input. The program will then slow down or become unresponsive. Description Regular expression ("regex") matching can be done by building a finite-state automaton. Regex can be easily converted to nondeterministic automata (NFAs), in which for each state and input symbol, there may be several possible next states. After building the automaton, several possibilities exist: * the engine may convert it to a deterministic finite-stat ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
Web Application Firewall
A web application firewall (WAF) is a specific form of application firewall that filters, monitors, and blocks HTTP traffic to and from a web service. By inspecting HTTP traffic, it can prevent attacks exploiting a web application's known vulnerabilities, such as SQL injection, cross-site scripting (XSS), file inclusion, and improper system configuration. Most of the major financial institutions utilize WAFs to help in the mitigation of web application "zero-day" vulnerabilities, as well as hard-to-patch bugs or weaknesses through custom attack signature strings. History Dedicated web application firewalls entered the market in the late 1990s during a time when web server attacks were becoming more prevalent. Early WAF products, from Kavado and Gilian technologies, were available, trying to solve the increasing amount of attacks on web applications in the late 1990s. In 2002, the open-source project ModSecurity was formed in order to make WAF technology more accessible ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
CloudFlare
Cloudflare, Inc., is an American company that provides content delivery network services, cybersecurity, DDoS mitigation, wide area network services, reverse proxies, Domain Name Service, ICANN-accredited domain registration, and other services. Cloudflare's headquarters are in San Francisco, California. According to W3Techs, Cloudflare is used by around 19.3% of all websites on the Internet for its web security services, History Cloudflare was founded in July 2009 by Matthew Prince, Lee Holloway, and Michelle Zatlyn. Prince and Holloway had previously collaborated on Project Honey Pot, a product of Unspam Technologies that served as some inspiration for the basis of Cloudflare. From 2009, the company was venture-capital funded. On August 15, 2019, Cloudflare submitted its S-1 filing for an initial public offering on the New York Stock Exchange under the stock ticker NET. It opened for public trading on September 13, 2019, at $15 per share. In 2020, Cloudflare co-fou ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
Rust (programming Language)
Rust is a General-purpose programming language, general-purpose programming language emphasizing Computer performance, performance, type safety, and Concurrency (computer science), concurrency. It enforces memory safety, meaning that all Reference (computer science), references point to valid memory. It does so without a conventional Garbage collection (computer science), garbage collector; instead, memory safety errors and data races are prevented by the "borrow checker", which tracks the object lifetime of references Compiler, at compile time. Rust does not enforce a programming paradigm, but was influenced by ideas from functional programming, including Immutable object, immutability, higher-order functions, algebraic data types, and pattern matching. It also supports object-oriented programming via structs, Enumerated type, enums, traits, and methods. It is popular for systems programming. Software developer Graydon Hoare created Rust as a personal project while working at ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
Plan 9 From Bell Labs
Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has been free and open-source. The final official release was in early 2015. Under Plan 9, UNIX's '' everything is a file'' metaphor is extended via a pervasive network-centric filesystem, and the cursor-addressed, terminal-based I/O at the heart of UNIX-like operating systems is replaced by a windowing system and graphical user interface without cursor addressing, although rc, the Plan 9 shell, is text-based. The name ''Plan 9 from Bell Labs'' is a reference to the Ed Wood 1957 cult science fiction Z-movie '' Plan 9 from Outer Space''. The system continues to be used and developed by operating system researchers and hobbyists. History Plan 9 from Bell Labs was originally developed, starting in the late 1980s, by members of the ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
Go (programming Language)
Go is a high-level programming language, high-level general purpose programming language that is static typing, statically typed and compiled language, compiled. It is known for the simplicity of its syntax and the efficiency of development that it enables by the inclusion of a large standard library supplying many needs for common projects. It was designed at Google in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson, and publicly announced in November of 2009. It is syntax (programming languages), syntactically similar to C (programming language), C, but also has memory safety, garbage collection (computer science), garbage collection, structural type system, structural typing, and communicating sequential processes, CSP-style concurrency (computer science), concurrency. It is often referred to as Golang to avoid ambiguity and because of its former domain name, golang.org, but its proper name is Go. There are two major implementations: * The original, Self-hosting (compi ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
Google Sheets
Google Sheets is a spreadsheet application and part of the free, web-based Google Docs Editors suite offered by Google. Google Sheets is available as a web application; a mobile app for: Android, iOS, and as a desktop application on Google's ChromeOS. The app is compatible with Microsoft Excel file formats. The app allows users to create and edit files online while collaborating with other users in real-time. Edits are tracked by which user made them, along with a revision history. Where an editor is making changes is highlighted with an editor-specific color and cursor. A permissions system regulates what users can do. Updates have introduced features that use machine learning, including "Explore", which offers answers based on natural language questions in the spreadsheet. Sheets is one of the services provided by Google that also includes Google Docs, Google Slides, Google Drawings, Google Forms, Google Sites and Google Keep. History Google Sheets originated f ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |
|
Google Docs
Google Docs is an online word processor and part of the free, web-based Google Docs Editors suite offered by Google. Google Docs is accessible via a web browser as a web-based application and is also available as a mobile app on Android and iOS and as a desktop application on Google's ChromeOS. Google Docs allows users to create and edit documents online while collaborating with users in real-time. Edits are tracked by the user making the edit, with a revision history presenting changes. An editor's position is highlighted with an editor-specific color and cursor, and a permissions system regulates what users can do. Updates have introduced features using machine learning, including "Explore", offering search results based on the contents of a document, and "Action items", allowing users to assign tasks to other users. Google Docs supports opening and saving documents in the standard OpenDocument format as well as in Rich text format, plain Unicode text, zipped HTML, and Mic ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   [Amazon] |