Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
m

Test String

Code Generator

Generated Code

// include the latest version of the regex crate in your Cargo.toml extern crate regex; use regex::Regex; fn main() { let regex = Regex::new(r"(?m)^([^\n]*\s+)(?<g2>Added|Modified|Normal)\s+\((?<g3>\S+\s+only)\)\s*$").unwrap(); let string = "opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/fixture/ClasspathResourceFixture.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/fixture/RbacFixture.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/fixture/StructureDefinitionFixture.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/fixture/LuceneFixture.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/fixture/DeploymentFixture.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/fixture/OpenEJBFixture.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/fixture/ProcessDefinitionFixture.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/builder/StructureInstanceExternalBuilderTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/builder/JsonStructureBuilderTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/builder/JsonDataTreeBuilderTest.java Deleted (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/StructureServiceCompositionTest.java Added (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/PermissionServiceTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/JbpmJobServiceTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/StructureServiceAddReferenceTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/StructureServiceRbacTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/DeploymentResourceServiceTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/StructureServiceRemoveReferenceTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/StructureServiceTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/StructureServiceBackReferenceTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/StructureServiceLogTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/service/FinderServiceTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/mittlerservice/StructureServiceRemoteSearchTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/lucene/structure/LuceneStructureIndexerRandomTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/lucene/LuceneSearcherTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/lucene/LuceneIndexerTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/actionhandler/CancelAllTimerActionHandlerTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/actionhandler/AutoStartActionHandlerTest.java Modified (content only) opusp-jbpm3/src/test/java/de/esn/opusp/jbpm3/actionhandler/BirtRenderActionHandlerTest.java Modified (content only) opusp-jbpm3/src/test/resources/AutoStart Test/process/processimage.jpg Added (content only) opusp-jbpm3/src/test/resources/AutoStart Test/process/processdefinition.xml Added (content only) opusp-jbpm3/src/test/resources/AutoStart Test/process/gpd.xml Added (content only) opusp-jbpm3/src/test/resources/AutoStart Test/process Added (content only) opusp-jbpm3/src/test/resources/AutoStart Test Added (content only) opusp-jbpm3/src/test/resources/CancellAllTimerActionHandler Deleted (content only) opusp-jbpm3/src/test/resources/AutoStartTest/process/processimage.jpg Deleted (content only) opusp-jbpm3/src/test/resources/AutoStartTest/process/processdefinition.xml Deleted (content only) opusp-jbpm3/src/test/resources/AutoStartTest/process/gpd.xml Deleted (content only) opusp-jbpm3/src/test/resources/AutoStartTest/process Deleted (content only) opusp-jbpm3/src/test/resources/AutoStartTest Deleted (content only) opusp-jbpm3/src/test/resources/CancelAllTimerActionHandler/process/gpd.xml Added (content only) opusp-jbpm3/src/test/resources/CancelAllTimerActionHandler/process/processimage.jpg Added (content only) opusp-jbpm3/src/test/resources/CancelAllTimerActionHandler/process/processdefinition.xml Added (content only) opusp-jbpm3/src/test/resources/CancelAllTimerActionHandler/process Added (content only) opusp-jbpm3/src/test/resources/CancelAllTimerActionHandler/cancell/processimage.jpg Deleted (content only) opusp-jbpm3/src/test/resources/CancelAllTimerActionHandler/cancell/processdefinition.xml Deleted (content only) opusp-jbpm3/src/test/resources/CancelAllTimerActionHandler/cancell/gpd.xml Deleted (content only) opusp-jbpm3/src/test/resources/CancelAllTimerActionHandler/cancell Deleted (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/cluster/ClusterSingletonServiceImpl.java Added (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/cluster/ClusterSingletonChannelActivator.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/builder/DataTreeBuilder.java Deleted (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/builder/JsonStructureBuilder.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/builder/JsonDataTreeBuilder.java Deleted (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/builder/StructureExternalBuilder.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/model/appview/DataTree.java Deleted (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/model/appview Deleted (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/ExtStateServiceImpl.java Added (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/ClusterSingletonServiceImpl.java Deleted (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/StructureRuleService.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/RbacServiceImpl.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/OpuspStructureConverter.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/StructureFieldService.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/JbpmJobServiceImpl.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/OpuspCommandServiceBeanImpl.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/StructureServiceImpl.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/StructureInstanceLoader.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/DeploymentResourceServiceImpl.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/service/MenuConfigServiceImpl.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/utils/JsUtil.java Added (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/cache/structure/StructureCacheImpl.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/lucene/TypedQueryParser.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/lucene/ParseTools.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/entity/OpuspExtState.java Added (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/entity/structure/instance/OpuspInstance.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/entity/structure/definition/OpuspReference.java Modified (content only) opusp-jbpm3/src/main/java/de/esn/opusp/jbpm3/entity/structure/definition/OpuspAttribute.java Modified (content only) opusp-jbpm3/src/main/resources/ext/StateProviderTemplate.js Added (content only) opusp-jbpm3/src/main/resources/ext Added (content only) opusp-jbpm3/src/main/resources/dataview/structure/structure-lib.js Modified (content only) opusp-jbpm3/src/main/resources/dataview/structure/multiview.js Modified (content only) opusp-jbpm3/src/main/resources/dataview/structure/single-index.html Modified (content only) opusp-jbpm3/src/main/resources/dataview/appview/appview-lib.js Deleted (content only) opusp-jbpm3/src/main/resources/dataview/appview/index.html Deleted (content only) opusp-jbpm3/src/main/resources/dataview/appview Deleted (content only) opusp-jbpm3/pom.xml Modified (content only) opusp-jbpm3 Normal (properties only) opusp-rest/src/test/java/de/esn/opusp/rest/service/ExportServiceRESTTest.java Modified (content only) opusp-rest/src/test/java/de/esn/opusp/rest/utils/FieldsConverterTest.java Modified (content only) opusp-rest/src/test/java/de/esn/opusp/rest/fixture/MockStructureServiceImpl.java Modified (content only) opusp-rest/src/test/java/de/esn/opusp/rest/fixture/StructureServiceAdapter.java Modified (content only) opusp-rest/src/main/java/de/esn/opusp/rest/model/structure/export/Attribute.java Modified (content only) opusp-rest/src/main/java/de/esn/opusp/rest/service/ExtStateServiceREST.java Added (content only) opusp-rest/src/main/java/de/esn/opusp/rest/service/StructureServiceREST.java Modified (content only) opusp-rest/src/main/java/de/esn/opusp/rest/utils/FieldsConverter.java Modified (content only) opusp-rest/src/main/java/de/esn/opusp/rest/structureimport/ImportHandler.java Modified (content only) opusp-rest/pom.xml Modified (content only) opusp-rest Normal (properties only) opusp-web/src/test/java/de/esn/opusp/web/server/fixture/MockStructureServiceImpl.java Modified (content only) opusp-web/src/test/java/de/esn/opusp/web/server/fixture/StructureServiceAdapter.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/server/admin/OpuspStructureConverter.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/server/admin/AdminServiceImpl.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/server/MenuConfigServiceImpl.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/data/model/DataTreeRefreshCallback.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/data/model/DataModel.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/data/DataController.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/GWTConstants.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/model/structure/StructureTreeEntry.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/model/structure/StructureModel.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/model/structure/OpuspReference.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/model/structure/OpuspStructure.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/model/structure/OpuspAttribute.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/model/structure/AdminStructureModel.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/structure/AttributeListPanel.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/structure/StructureTreePanel.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/structure/ResourceAttributeWindow.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/structure/StructureWindow.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/structure/ReferenceAttributeWindow.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/structure/AttributeWindow.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/structure/KatalogAttributeWindow.java Modified (content only) opusp-web/src/main/java/de/esn/opusp/web/client/admin/AdminController.java Modified (content only) opusp-web/src/main/resources/de/esn/opusp/web/public/Application.css Modified (content only) opusp-web/src/main/resources/de/esn/opusp/web/public/icons/attribute_reference_composition_many_deleted.png Added (content only) opusp-web/src/main/resources/de/esn/opusp/web/public/icons/attribute_reference_composition_many.png Added (content only) opusp-web/src/main/resources/de/esn/opusp/web/public/icons/attribute_reference_composition_one_deleted.png Added (content only) opusp-web/src/main/resources/de/esn/opusp/web/public/icons/attribute_reference_composition_one.png Added (content only) opusp-web/pom.xml Modified (content only) opusp-web Normal (properties only) opusp-test/pom.xml Modified (content only) opusp-test Normal (properties only) opusp-app/pom.xml Modified (content only) opusp-app Normal (properties only) opusp-selenium/pom.xml Modified (content only) opusp-selenium Normal (properties only) pom.xml Modified (content only) opusp-core/pom.xml Modified (content only) opusp-core Normal (properties only) opusp-common/pom.xml Modified (content only) opusp-common Normal (properties only) opusp-service/pom.xml Modified (content only) opusp-service Normal (properties only) opusp-script/src/main/resources/sql/create/mssql/opusp.extra.mssql.3.18.10.sql Added (content only) opusp-script/src/main/resources/sql/create/mssql/opusp.extra.mssql.3.18.12.sql Added (content only) opusp-script/src/main/resources/sql/create/mssql/opusp.extra.mssql.3.18.9.sql Added (content only) opusp-script/src/main/resources/sql/create/mssql/opusp.extra.mssql.3.18.11.sql Added (content only) opusp-script/src/main/resources/sql/create/mssql/opusp.extra.mssql.3.18.8.sql Added (content only) opusp-script/src/main/resources/sql/create/mssql/opusp.extra.mssql._VERSION_.sql Modified (content only) opusp-script/src/main/resources/sql/create/mysql/opusp.extra.mysql.3.18.11.sql Added (content only) opusp-script/src/main/resources/sql/create/mysql/opusp.extra.mysql.3.18.8.sql Added (content only) opusp-script/src/main/resources/sql/create/mysql/opusp.extra.mysql.3.18.10.sql Added (content only) opusp-script/src/main/resources/sql/create/mysql/opusp.extra.mysql.3.18.12.sql Added (content only) opusp-script/src/main/resources/sql/create/mysql/opusp.extra.mysql.3.18.9.sql Added (content only) opusp-script/src/main/resources/sql/create/mysql/opusp.extra.mysql._VERSION_.sql Modified (content only) opusp-script/src/main/resources/sql/create/oracle/opusp.extra.oracle.3.18.9.sql Added (content only) opusp-script/src/main/resources/sql/create/oracle/opusp.extra.oracle.3.18.11.sql Added (content only) opusp-script/src/main/resources/sql/create/oracle/opusp.extra.oracle.3.18.8.sql Added (content only) opusp-script/src/main/resources/sql/create/oracle/opusp.extra.oracle.3.18.10.sql Added (content only) opusp-script/src/main/resources/sql/create/oracle/opusp.extra.oracle.3.18.12.sql Added (content only) opusp-script/src/main/resources/sql/create/oracle/opusp.extra.oracle._VERSION_.sql Modified (content only) opusp-script/src/main/resources/sql/create/jbpm-3.2.6.SP1/jbpm.jpdl.mysql.sql Modified (content only) opusp-script/src/main/resources/sql/create/jbpm-3.2.6.SP1/jbpm.jpdl.oracle.sql Modified (content only) opusp-script/src/main/resources/sql/create/jbpm-3.2.6.SP1/jbpm.jpdl.mssql.sql Modified (content only) opusp-script/src/main/resources/sql/migrate/mssql/opusp.extra.mssql.3.18.6-3.18.8.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mssql/opusp.extra.mssql.3.18.8-3.18.9.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mssql/opusp.extra.mssql.3.18.9-3.18.10.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mssql/opusp.extra.mssql.3.18.10-3.18.11.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mssql/opusp.extra.mssql.3.18.11-3.18.12.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mssql/opusp.extra.mssql._VERSIONRANGE_.sql Modified (content only) opusp-script/src/main/resources/sql/migrate/mysql/opusp.extra.mysql.3.18.10-3.18.11.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mysql/opusp.extra.mysql.3.18.11-3.18.12.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mysql/opusp.extra.mysql.3.18.8-3.18.9.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mysql/opusp.extra.mysql.3.18.6-3.18.8.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mysql/opusp.extra.mysql.3.18.9-3.18.10.sql Added (content only) opusp-script/src/main/resources/sql/migrate/mysql/opusp.extra.mysql._VERSIONRANGE_.sql Modified (content only) opusp-script/src/main/resources/sql/migrate/oracle/opusp.extra.oracle.3.18.6-3.18.8.sql Added (content only) opusp-script/src/main/resources/sql/migrate/oracle/opusp.extra.oracle.3.18.9-3.18.10.sql Added (content only) opusp-script/src/main/resources/sql/migrate/oracle/opusp.extra.oracle.3.18.10-3.18.11.sql Added (content only) opusp-script/src/main/resources/sql/migrate/oracle/opusp.extra.oracle.3.18.11-3.18.12.sql Added (content only) opusp-script/src/main/resources/sql/migrate/oracle/opusp.extra.oracle.3.18.8-3.18.9.sql Added (content only) opusp-script/src/main/resources/sql/migrate/oracle/opusp.extra.oracle._VERSIONRANGE_.sql Modified (content only) opusp-script/pom.xml Modified (content only) opusp-script Normal (properties only) opusp-config/pom.xml Modified (content only) opusp-config Normal (properties only) opusp-local-client/pom.xml Modified (content only) opusp-local-client Normal (properties only) opusp-api/src/main/java/de/esn/opusp/api/model/OpuspExtState.java Added (content only) opusp-api/src/main/java/de/esn/opusp/api/model/structure/definition/OpuspReference.java Modified (content only) opusp-api/src/main/java/de/esn/opusp/api/model/structure/definition/OpuspAttribute.java Modified (content only) opusp-api/src/main/java/de/esn/opusp/api/model/structure/transport/Attribute.java Modified (content only) opusp-api/src/main/java/de/esn/opusp/api/model/structure/transport/Field.java Modified (content only) opusp-api/src/main/java/de/esn/opusp/api/model/MenuConfig.java Modified (content only) opusp-api/src/main/java/de/esn/opusp/api/service/ExtStateService.java Added (content only) opusp-api/src/main/java/de/esn/opusp/api/service/StructureService.java Modified (content only) opusp-api/src/main/java/de/esn/opusp/api/remote/StructureServiceRemote.java Modified (content only) opusp-api/pom.xml Modified (content only) opusp-api Normal (properties only) Normal (properties only) "; // result will be a tuple containing the start and end indices for the first match in the string let result = regex.captures(string); let (start, end) = match result { Some((s, e)) => (s, e), None => { // ... } }; println!("{}", &string[start, end]); }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Rust, please visit: https://docs.rs/regex/latest/regex/