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
No Match

r"
"
gm

Test String

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "(\\{\\s*(\\\"uid\\\"[\\S ]+\\s*)(\\\"commandName\\\": \\\"(?!OpenSpreadsheet).*\\\"[\\S ]*\\s*)(\\\"packageName\\\": \\\"Excel_MS\\\"[\\S ]*\\s*)(\\\"disabled\\\"[\\S ]*\\s*)(\\\"attributes\\\": \\[(?:[\\s\\S])*?\\])\\s*\\})"; final String string = "{(\\\"packageName\\\": \\\".+\\\",\\s+))\n" + " \"triggers\": [],\n" + " \"nodes\": [\n" + " {\n" + " \"uid\": \"c381755e-45af-4521-a5da-ccb611b714de\",\n" + " \"commandName\": \"try\",\n" + " \"packageName\": \"ErrorHandler\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"112fb642-d36b-40f0-98dd-ca3ffbdf245c\",\n" + " \"commandName\": \"OpenSpreadsheet\",\n" + " \"packageName\": \"Excel_MS\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"session\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Email Config\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"filePath\",\n" + " \"value\": {\n" + " \"type\": \"FILE\",\n" + " \"expression\": \"file://$sEmailConfig_Path$/Email_Config.xlsx\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"isSpecificSheet\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"fileAccessMode\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"EDIT\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"isSecure\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"containsHeader\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"loadAddIns\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"SESSION\",\n" + " \"sessionName\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Email Config\"\n" + " },\n" + " \"sessionTarget\": \"LOCAL\"\n" + " }\n" + " },\n" + " {\n" + " \"uid\": \"5dde9342-f376-40a6-b989-4b2e1ca27d49\",\n" + " \"commandName\": \"step\",\n" + " \"packageName\": \"Step\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"0fc45d7d-1e41-449e-be34-39d58c160196\",\n" + " \"commandName\": \"if\",\n" + " \"packageName\": \"If\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"ce33cad3-9f43-4ee4-8840-0746097df93a\",\n" + " \"commandName\": \"SwitchToSheet\",\n" + " \"packageName\": \"Excel_MS\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"session\",\n" + " \"value\": {\n" + " \"type\": \"SESSION\",\n" + " \"sessionName\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Email Config\"\n" + " }\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sheetOption\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"BYNAME\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sheetName\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Complete\"\n" + " }\n" + " }\n" + " ]\n" + " }\n" + " ],\n" + " \"branches\": [],\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"condition\",\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"variable\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sTag$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"operator\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"EQ\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"value\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Complete\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"matchCase\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"isIgnoreCarriage\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " }\n" + " ],\n" + " \"value\": {\n" + " \"type\": \"CONDITIONAL\",\n" + " \"conditionalName\": \"stringVariable\",\n" + " \"packageName\": \"String\"\n" + " }\n" + " }\n" + " ]\n" + " },\n" + " {\n" + " \"uid\": \"03a75bd4-d238-4d5f-990b-e5bc78c36350\",\n" + " \"commandName\": \"if\",\n" + " \"packageName\": \"If\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"992db39c-a0ec-4c5b-bdbe-1eda2082bc5b\",\n" + " \"commandName\": \"SwitchToSheet\",\n" + " \"packageName\": \"Excel_MS\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"session\",\n" + " \"value\": {\n" + " \"type\": \"SESSION\",\n" + " \"sessionName\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Email Config\"\n" + " }\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sheetOption\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"BYNAME\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sheetName\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Error\"\n" + " }\n" + " }\n" + " ]\n" + " }\n" + " ],\n" + " \"branches\": [],\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"condition\",\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"variable\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sTag$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"operator\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"EQ\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"value\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Error\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"matchCase\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"isIgnoreCarriage\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " }\n" + " ],\n" + " \"value\": {\n" + " \"type\": \"CONDITIONAL\",\n" + " \"conditionalName\": \"stringVariable\",\n" + " \"packageName\": \"String\"\n" + " }\n" + " }\n" + " ]\n" + " }\n" + " ],\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"title\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"1:判斷需取得完成或失敗收件人\"\n" + " }\n" + " }\n" + " ]\n" + " },\n" + " {\n" + " \"uid\": \"765cc618-60f6-4c99-aa09-41587770e548\",\n" + " \"commandName\": \"step\",\n" + " \"packageName\": \"Step\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"64a1400c-802f-42e0-8919-b34a555e2408\",\n" + " \"commandName\": \"GetSingleCell\",\n" + " \"packageName\": \"Excel_MS\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"session\",\n" + " \"value\": {\n" + " \"type\": \"SESSION\",\n" + " \"sessionName\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Email Config\"\n" + " }\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"activeCell\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"false\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"cell\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"C2\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"readOption\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"READ_CELL_VALUE\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"readOption_readCellValue_Help\",\n" + " \"value\": {\n" + " \"type\": \"STRING\"\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sPrefix\"\n" + " }\n" + " },\n" + " {\n" + " \"uid\": \"a7f93eed-6554-42bb-a5a1-397064778e2c\",\n" + " \"commandName\": \"loop.commands.start\",\n" + " \"packageName\": \"Loop\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"41052b43-261a-4c28-ba8a-5c65244a475c\",\n" + " \"commandName\": \"if\",\n" + " \"packageName\": \"If\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"f429f0ae-e41e-40c5-a2ac-ddf57f84c686\",\n" + " \"commandName\": \"assign\",\n" + " \"packageName\": \"String\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"sourceString\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sRecipient$;$rGet_Email_Info[0]$\"\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sRecipient\"\n" + " }\n" + " }\n" + " ],\n" + " \"branches\": [],\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"condition\",\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"variable\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$rGet_Email_Info[0]$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"operator\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"NEQ\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"value\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"matchCase\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"isIgnoreCarriage\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " }\n" + " ],\n" + " \"value\": {\n" + " \"type\": \"CONDITIONAL\",\n" + " \"conditionalName\": \"stringVariable\",\n" + " \"packageName\": \"String\"\n" + " }\n" + " }\n" + " ]\n" + " }\n" + " ],\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"loopType\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"ITERATOR\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"iterator\",\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"rGet_Email_Info\"\n" + " },\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"session\",\n" + " \"value\": {\n" + " \"type\": \"SESSION\",\n" + " \"sessionName\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Email Config\"\n" + " }\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"loopSelection\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"ALL_ROWS\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"readOption\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"READ_CELL_VALUE\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"readOption_readCellValue_Help\",\n" + " \"value\": {\n" + " \"type\": \"STRING\"\n" + " }\n" + " }\n" + " ],\n" + " \"value\": {\n" + " \"type\": \"ITERATOR\",\n" + " \"iteratorName\": \"loop.iterators.excel\",\n" + " \"packageName\": \"Excel_MS\"\n" + " }\n" + " }\n" + " ]\n" + " },\n" + " {\n" + " \"uid\": \"4c7e0009-3e80-420c-bf95-87bd08d53d41\",\n" + " \"commandName\": \"loop.commands.start\",\n" + " \"packageName\": \"Loop\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"cdc0133d-96ea-426c-a1ec-45c944727e74\",\n" + " \"commandName\": \"if\",\n" + " \"packageName\": \"If\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"654cda9c-a1be-41ad-81b2-271025dcd87f\",\n" + " \"commandName\": \"assign\",\n" + " \"packageName\": \"String\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"sourceString\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sCc_Group$;$rGet_Email_Info[1]$\"\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sCc_Group\"\n" + " }\n" + " }\n" + " ],\n" + " \"branches\": [],\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"condition\",\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"variable\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$rGet_Email_Info[1]$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"operator\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"NEQ\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"value\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"matchCase\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"isIgnoreCarriage\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " }\n" + " ],\n" + " \"value\": {\n" + " \"type\": \"CONDITIONAL\",\n" + " \"conditionalName\": \"stringVariable\",\n" + " \"packageName\": \"String\"\n" + " }\n" + " }\n" + " ]\n" + " }\n" + " ],\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"loopType\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"ITERATOR\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"iterator\",\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"rGet_Email_Info\"\n" + " },\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"session\",\n" + " \"value\": {\n" + " \"type\": \"SESSION\",\n" + " \"sessionName\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Email Config\"\n" + " }\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"loopSelection\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"ALL_ROWS\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"readOption\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"READ_CELL_VALUE\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"readOption_readCellValue_Help\",\n" + " \"value\": {\n" + " \"type\": \"STRING\"\n" + " }\n" + " }\n" + " ],\n" + " \"value\": {\n" + " \"type\": \"ITERATOR\",\n" + " \"iteratorName\": \"loop.iterators.excel\",\n" + " \"packageName\": \"Excel_MS\"\n" + " }\n" + " }\n" + " ]\n" + " },\n" + " {\n" + " \"uid\": \"640a0a89-0252-4dbb-9a92-cb667d584a12\",\n" + " \"commandName\": \"beforeAfter\",\n" + " \"packageName\": \"String\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"sourceString\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sRecipient$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"getCharacters\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"BEFORE\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"beforeString\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \";\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"beforeOccurrence\",\n" + " \"value\": {\n" + " \"type\": \"NUMBER\",\n" + " \"number\": \"1\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"ifNoMatchFound\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"EMPTY\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"noOfCharsToGet\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"ALL\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"trimSpaces\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"removeEnter\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sRecipient\"\n" + " }\n" + " },\n" + " {\n" + " \"uid\": \"dc6fc20c-793b-421b-86ba-69355b8fee9b\",\n" + " \"commandName\": \"beforeAfter\",\n" + " \"packageName\": \"String\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"sourceString\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sCc_Group$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"getCharacters\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"BEFORE\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"beforeString\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \";\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"beforeOccurrence\",\n" + " \"value\": {\n" + " \"type\": \"NUMBER\",\n" + " \"number\": \"1\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"ifNoMatchFound\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"EMPTY\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"noOfCharsToGet\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"ALL\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"trimSpaces\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"removeEnter\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sCc_Group\"\n" + " }\n" + " },\n" + " {\n" + " \"uid\": \"f57be4d7-2fd2-4fc7-9319-2a5d7d9a36f7\",\n" + " \"commandName\": \"sendMail\",\n" + " \"packageName\": \"Email\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"toAddress\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sRecipient$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"cc\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sCc_Group$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"bcc\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"subject\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sPrefix$ - $sSubject$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"attachmentsFilePath\",\n" + " \"value\": {\n" + " \"type\": \"FILE\",\n" + " \"expression\": \"file://$sAttechment$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"ensureAttachmentsExist\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"bodyFormat\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"HTML\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"message\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sEmail_Message$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"goGreen\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"serverType\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"OUTLOOK\"\n" + " }\n" + " }\n" + " ]\n" + " },\n" + " {\n" + " \"uid\": \"569bc7ed-3eaf-4ad3-94ab-36b401a87687\",\n" + " \"commandName\": \"CloseSpreadsheet\",\n" + " \"packageName\": \"Excel_MS\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"session\",\n" + " \"value\": {\n" + " \"type\": \"SESSION\",\n" + " \"sessionName\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"Email Config\"\n" + " }\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"isSave\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": true\n" + " }\n" + " }\n" + " ]\n" + " },\n" + " {\n" + " \"uid\": \"d7bb895d-2bef-4a1a-90b0-3040883e2e14\",\n" + " \"commandName\": \"delay\",\n" + " \"packageName\": \"Delay\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"delayType\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"REGULAR\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"delayTime\",\n" + " \"value\": {\n" + " \"type\": \"NUMBER\",\n" + " \"number\": \"60\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"timeUnit\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"SECONDS\"\n" + " }\n" + " }\n" + " ]\n" + " }\n" + " ],\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"title\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"2:取得收件人並寄出信件\"\n" + " }\n" + " }\n" + " ]\n" + " }\n" + " ],\n" + " \"branches\": [\n" + " {\n" + " \"uid\": \"c95b4ff0-05e4-4872-810c-77de9ee91b03\",\n" + " \"commandName\": \"catch\",\n" + " \"packageName\": \"ErrorHandler\",\n" + " \"disabled\": false,\n" + " \"children\": [\n" + " {\n" + " \"uid\": \"3a246d3a-c827-429d-a7af-f9f725858d6b\",\n" + " \"commandName\": \"toString\",\n" + " \"packageName\": \"Datetime\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"source\",\n" + " \"value\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"packageName\": \"System\",\n" + " \"variableName\": \"Date\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"selectPattern\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"CUSTOM\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"patternInput\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"yyyyMMdd_HHmmSS\"\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sTimeStamp\"\n" + " }\n" + " },\n" + " {\n" + " \"uid\": \"bd3915ce-a105-4530-b110-38cfd83cbf45\",\n" + " \"commandName\": \"toString\",\n" + " \"packageName\": \"Number\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"input\",\n" + " \"value\": {\n" + " \"type\": \"NUMBER\",\n" + " \"expression\": \"$nErrorLine$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"numFormatDigits\",\n" + " \"value\": {\n" + " \"type\": \"NUMBER\",\n" + " \"number\": \"0\"\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sErrorLine\"\n" + " }\n" + " },\n" + " {\n" + " \"uid\": \"41f18175-55bb-40ba-bff7-4fd9d3d82aed\",\n" + " \"commandName\": \"assign\",\n" + " \"packageName\": \"String\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"sourceString\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sErrorLine$:$sErrorMessage$\"\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sErrorMessage\"\n" + " }\n" + " },\n" + " {\n" + " \"uid\": \"ea11d681-3f54-4627-857c-0e734e68b650\",\n" + " \"commandName\": \"captureWindow\",\n" + " \"packageName\": \"Screen\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"windowTitle\",\n" + " \"value\": {\n" + " \"type\": \"WINDOW\",\n" + " \"window\": {\n" + " \"type\": \"WINDOW\",\n" + " \"presetType\": \"CURRENTLY_ACTIVE\"\n" + " }\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"filePath\",\n" + " \"value\": {\n" + " \"type\": \"FILE\",\n" + " \"expression\": \"file://$dFolder{sErrorSnapshot}$/$sTimeStamp$_Send%20Email.jpeg\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"isOverwriteFile\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " }\n" + " ]\n" + " },\n" + " {\n" + " \"uid\": \"b0f069ec-cdf5-4a9e-8659-41c92c50362f\",\n" + " \"commandName\": \"logToFile\",\n" + " \"packageName\": \"LogToFile\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"filePath\",\n" + " \"value\": {\n" + " \"type\": \"FILE\",\n" + " \"expression\": \"file://$dFolder{sErrorLog}$/$sTimeStamp$_Check%20Files%20and%20Check.txt\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"logContent\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"$sErrorMessage$\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"appendTimestamp\",\n" + " \"value\": {\n" + " \"type\": \"BOOLEAN\",\n" + " \"boolean\": false\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"logOption\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"APPEND_FILE\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"encodingValue\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"ANSI\"\n" + " }\n" + " }\n" + " ]\n" + " },\n" + " {\n" + " \"uid\": \"8072d185-5b98-4627-8b72-0893094ae34b\",\n" + " \"commandName\": \"assign\",\n" + " \"packageName\": \"String\",\n" + " \"disabled\": false,\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"sourceString\",\n" + " \"value\": {\n" + " \"type\": \"STRING\",\n" + " \"expression\": \"FAILED ($sErrorMessage$)\"\n" + " }\n" + " }\n" + " ],\n" + " \"returnTo\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sModuleStatus\"\n" + " }\n" + " }\n" + " ],\n" + " \"attributes\": [\n" + " {\n" + " \"name\": \"exceptionType\",\n" + " \"value\": {\n" + " \"type\": \"EXCEPTION\",\n" + " \"exceptionName\": \"BotException\",\n" + " \"packageName\": \"ErrorHandler\"\n" + " }\n" + " }\n" + " ],\n" + " \"returns\": {\n" + " \"errorMessage\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"sErrorMessage\"\n" + " },\n" + " \"errorLineNumber\": {\n" + " \"type\": \"VARIABLE\",\n" + " \"variableName\": \"nErrorLine\"\n" + " }\n" + " }\n" + " }\n" + " ]\n" + " }\n" + " ],\n" + " \"variables\": [\n" + " {\n" + " \"name\": \"prompt-assignment\",\n" + " \"description\": \"A variable you can use for assignments\",\n" + " \"type\": \"STRING\",\n" + " \"subtype\": \"UNDEFINED\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false\n" + " },\n" + " {\n" + " \"name\": \"sTimeStamp\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"subtype\": \"UNDEFINED\",\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sErrorLine\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": true,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"nErrorLine\",\n" + " \"description\": \"\",\n" + " \"type\": \"NUMBER\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"NUMBER\",\n" + " \"number\": \"0\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sErrorMessage\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": true,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"dFolder\",\n" + " \"description\": \"\",\n" + " \"type\": \"DICTIONARY\",\n" + " \"readOnly\": false,\n" + " \"input\": true,\n" + " \"output\": false,\n" + " \"subtype\": \"STRING\",\n" + " \"defaultValue\": {\n" + " \"type\": \"DICTIONARY\",\n" + " \"dictionary\": []\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sModuleStatus\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": true,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sTag\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": true,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sSubject\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": true,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sEmail_Message\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": true,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sAttechment\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": true,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sEmailConfig_Path\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": true,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sRecipient\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sCc_Group\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sPrefix\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"rGet_Email_Info\",\n" + " \"description\": \"\",\n" + " \"type\": \"RECORD\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"subtype\": \"UNDEFINED\",\n" + " \"defaultValue\": {\n" + " \"type\": \"RECORD\",\n" + " \"record\": {\n" + " \"schema\": [],\n" + " \"values\": []\n" + " }\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sFrom_Address\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sEmail_Server_Host\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"nEmail_Server_Port\",\n" + " \"description\": \"\",\n" + " \"type\": \"NUMBER\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"NUMBER\",\n" + " \"number\": \"0\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sPassword\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sUsername\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " },\n" + " {\n" + " \"name\": \"sEmail_Server_Port\",\n" + " \"description\": \"\",\n" + " \"type\": \"STRING\",\n" + " \"readOnly\": false,\n" + " \"input\": false,\n" + " \"output\": false,\n" + " \"subtype\": \"UNDEFINED\",\n" + " \"defaultValue\": {\n" + " \"type\": \"STRING\",\n" + " \"string\": \"\"\n" + " }\n" + " }\n" + " ],\n" + " \"breakpoints\": [],\n" + " \"packages\": [\n" + " {\n" + " \"name\": \"Datetime\",\n" + " \"version\": \"2.2.0-20201014-042531\"\n" + " },\n" + " {\n" + " \"name\": \"Datetime\",\n" + " \"version\": \"2.2.0-20201014-042531\"\n" + " },\n" + " {\n" + " \"name\": \"Delay\",\n" + " \"version\": \"2.2.0-20201014-042532\"\n" + " },\n" + " {\n" + " \"name\": \"Delay\",\n" + " \"version\": \"2.2.0-20201014-042532\"\n" + " },\n" + " {\n" + " \"name\": \"Email\",\n" + " \"version\": \"3.1.0-20201104-062204\"\n" + " },\n" + " {\n" + " \"name\": \"Email\",\n" + " \"version\": \"3.1.0-20201104-062204\"\n" + " },\n" + " {\n" + " \"name\": \"ErrorHandler\",\n" + " \"version\": \"2.2.0-20201014-042541\"\n" + " },\n" + " {\n" + " \"name\": \"ErrorHandler\",\n" + " \"version\": \"2.2.0-20201014-042541\"\n" + " },\n" + " {\n" + " \"name\": \"Excel_MS\",\n" + " \"version\": \"6.3.0-20211028-055115\"\n" + " },\n" + " {\n" + " \"name\": \"Excel_MS\",\n" + " \"version\": \"6.3.0-20211028-055115\"\n" + " },\n" + " {\n" + " \"name\": \"If\",\n" + " \"version\": \"2.1.0-20200921-085758\"\n" + " },\n" + " {\n" + " \"name\": \"If\",\n" + " \"version\": \"2.1.0-20200921-085758\"\n" + " },\n" + " {\n" + " \"name\": \"LogToFile\",\n" + " \"version\": \"2.2.0-20201014-042806\"\n" + " },\n" + " {\n" + " \"name\": \"LogToFile\",\n" + " \"version\": \"2.2.0-20201014-042806\"\n" + " },\n" + " {\n" + " \"name\": \"Loop\",\n" + " \"version\": \"2.1.0-20201014-042808\"\n" + " },\n" + " {\n" + " \"name\": \"Loop\",\n" + " \"version\": \"2.1.0-20201014-042808\"\n" + " },\n" + " {\n" + " \"name\": \"Number\",\n" + " \"version\": \"2.1.0-20201014-042823\"\n" + " },\n" + " {\n" + " \"name\": \"Number\",\n" + " \"version\": \"2.1.0-20201014-042823\"\n" + " },\n" + " {\n" + " \"name\": \"Screen\",\n" + " \"version\": \"2.1.0-20201014-043037\"\n" + " },\n" + " {\n" + " \"name\": \"Screen\",\n" + " \"version\": \"2.1.0-20201014-043037\"\n" + " },\n" + " {\n" + " \"name\": \"Step\",\n" + " \"version\": \"2.0.0-20201023-202658\"\n" + " },\n" + " {\n" + " \"name\": \"Step\",\n" + " \"version\": \"2.0.0-20201023-202658\"\n" + " },\n" + " {\n" + " \"name\": \"String\",\n" + " \"version\": \"3.1.0-20201014-043052\"\n" + " },\n" + " {\n" + " \"name\": \"String\",\n" + " \"version\": \"3.1.0-20201014-043052\"\n" + " },\n" + " {\n" + " \"name\": \"System\",\n" + " \"version\": \"3.0.0-20200921-090225\"\n" + " },\n" + " {\n" + " \"name\": \"System\",\n" + " \"version\": \"3.0.0-20200921-090225\"\n" + " }\n" + " ],\n" + " \"migrationJournalReviewIds\": [],\n" + " \"workItemTemplateName\": null,\n" + " \"properties\": {\n" + " \"botCodeVersion\": \"1\",\n" + " \"improvedNumberSupport\": false,\n" + " \"timeout\": \"0s\",\n" + " \"automationPriority\": \"PRIORITY_MEDIUM\"\n" + " }\n" + "}\n"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); final Matcher matcher = pattern.matcher(string); while (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(i)); } } } }

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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html