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

/
/
gm

Test String

Substitution

Processing...

Code Generator

Generated Code

re = /\/\/(\S+)业务员分配量\s.*(?<=\s)(\w+)(?=S)/m str = ' //绑定业务员准确率 private int bindSchedulerAccuracy; //绑定业务员分配率 private BigDecimal bindSchedulerAccuracy; //绑定业务员分配量 private int bindSchedulerCount; //绑定业务员重分网点量 private int bindReSchedulerGsCount; //绑定业务员重分分部量 private int bindReSchedulerSjCount; //绑定业务员重分业务员量 private int bindReSchedulerYwyCount; //历史业务员准确率 private int historySchedulerAccuracy; //历史业务员分配率 private BigDecimal historySchedulerAccuracy; //历史业务员分配量 private int historySchedulerCount; //历史业务员重分网点量 private int historyReSchedulerGsCount; //历史业务员重分分部量 private int historyReSchedulerSjCount; //历史业务员重分业务员量 private int historyReSchedulerYwyCount; //电子围栏业务员准确率 private int fenceSchedulerAccuracy; //电子围栏业务员分配率 private BigDecimal fenceSchedulerAccuracy; //电子围栏业务员分配量 private int fenceSchedulerCount; //电子围栏业务员重分网点量 private int fenceReSchedulerGsCount; //电子围栏业务员重分分部量 private int fenceReSchedulerSjCount; //电子围栏业务员重分业务员量 private int fenceReSchedulerYwyCount; //附近业务员准确率 private int nearSchedulerAccuracy; //附近业务员分配率 private BigDecimal nearSchedulerAccuracy; //附近业务员分配量 private int nearSchedulerCount; //附近业务员重分网点量 private int nearReSchedulerGsCount; //附近业务员重分分部量 private int nearReSchedulerSjCount; //附近业务员重分业务员量 private int nearReSchedulerYwyCount; //预测业务员准确率 private int predictSchedulerAccuracy; //预测业务员分配率 private BigDecimal predictSchedulerAccuracy; //预测业务员分配量 private int predictSchedulerCount; //预测业务员重分网点量 private int predictReSchedulerGsCount; //预测业务员重分分部量 private int predictReSchedulerSjCount; //预测业务员重分业务员量 private int predictReSchedulerYwyCount; //顺路业务员准确率 private int onthewaySchedulerAccuracy; //顺路业务员分配率 private BigDecimal onthewaySchedulerAccuracy; //顺路业务员分配量 private int onthewaySchedulerCount; //顺路业务员重分网点量 private int onthewayReSchedulerGsCount; //顺路业务员重分分部量 private int onthewayReSchedulerSjCount; //顺路业务员重分业务员量 private int onthewayReSchedulerYwyCount; //地址业务员准确率 private int addressSchedulerAccuracy; //地址业务员分配率 private BigDecimal addressSchedulerAccuracy; //地址业务员分配量 private int addressSchedulerCount; //地址业务员重分网点量 private int addressReSchedulerGsCount; //地址业务员重分分部量 private int addressReSchedulerSjCount; //地址业务员重分业务员量 private int addressReSchedulerYwyCount; ' subst = '//$1业务员分配率\\n\\tprivate BigDecimal $2SchedulerAccuracy;\\n\\t$0' result = str.gsub(re, subst) # Print the result of the substitution puts result

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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html