Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
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
Processing...

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 = ".*Target Name: (\\w+\\-\\w+)\\n.*Target Type\\: (\\w+)\\n(?:.*Offset X\\: (?'PreliminaryX'-?\\d+\\.\\d+) mm\\n.*Offset Y\\: (?'PreliminaryY'-?\\d+\\.\\d+) mm\\n.*Offset A\\: (?'PreliminaryA'-?\\d+\\.\\d+) degree\\n.*In-Range.*\\n.*In-Range.*\\n.*In-Range.*\\n.*Compensate.*\\n)?(?:.*Offset X\\: (?'FinalX'-?\\d+\\.\\d+) mm\\n.*Offset Y\\: (?'FinalY'-?\\d+\\.\\d+) mm\\n.*Offset A\\: (?'FinalA'-?\\d+\\.\\d+) degree\\n)"; final String string = "2018-09-03 17:21:18,180 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -24.289 mm\n" + "2018-09-03 17:21:18,180 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -1.692 mm\n" + "2018-09-03 17:21:18,180 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.346 degree\n" + "2018-09-03 17:28:10,172 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-8\n" + "2018-09-03 17:28:10,172 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:28:14,096 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -6.372 mm\n" + "2018-09-03 17:28:14,096 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -1.672 mm\n" + "2018-09-03 17:28:14,096 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.292 degree\n" + "2018-09-03 17:32:31,767 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-12\n" + "2018-09-03 17:32:31,767 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:32:36,188 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -4.014 mm\n" + "2018-09-03 17:32:36,188 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 0.625 mm\n" + "2018-09-03 17:32:36,188 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.142 degree\n" + "2018-09-03 17:35:01,953 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-11\n" + "2018-09-03 17:35:01,953 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:35:06,512 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -20.956 mm\n" + "2018-09-03 17:35:06,512 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -9.688 mm\n" + "2018-09-03 17:35:06,512 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.56 degree\n" + "2018-09-03 17:35:43,287 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSPU16-2\n" + "2018-09-03 17:35:43,287 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: TOOL\n" + "2018-09-03 17:35:52,344 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -1.588 mm\n" + "2018-09-03 17:35:52,344 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -1.934 mm\n" + "2018-09-03 17:35:52,344 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -1.189 degree\n" + "2018-09-03 17:39:18,813 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSPU12-1\n" + "2018-09-03 17:39:18,813 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: TOOL\n" + "2018-09-03 17:39:26,745 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 1.489 mm\n" + "2018-09-03 17:39:26,745 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -4.227 mm\n" + "2018-09-03 17:39:26,745 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -1.583 degree\n" + "2018-09-03 17:41:01,110 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-10\n" + "2018-09-03 17:41:01,110 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:41:05,262 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -0.926 mm\n" + "2018-09-03 17:41:05,262 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -10.06 mm\n" + "2018-09-03 17:41:05,262 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.073 degree\n" + "2018-09-03 17:43:37,368 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-4\n" + "2018-09-03 17:43:37,368 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:43:44,187 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 5.636 mm\n" + "2018-09-03 17:43:44,187 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 0.815 mm\n" + "2018-09-03 17:43:44,187 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.537 degree\n" + "2018-09-03 17:45:41,012 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-1\n" + "2018-09-03 17:45:41,012 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:54:11,426 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -11.464 mm\n" + "2018-09-03 16:54:11,426 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 7.273 mm\n" + "2018-09-03 16:54:11,426 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.01 degree\n" + "2018-09-03 16:59:33,229 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: USED19-2\n" + "2018-09-03 16:59:33,229 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: TOOL\n" + "2018-09-03 16:59:39,726 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 4.024 mm\n" + "2018-09-03 16:59:39,726 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 2.607 mm\n" + "2018-09-03 16:59:39,726 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.084 degree\n" + "2018-09-03 17:02:47,740 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-7\n" + "2018-09-03 17:02:47,740 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:02:54,262 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -18.879 mm\n" + "2018-09-03 17:02:54,262 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 4.822 mm\n" + "2018-09-03 17:02:54,262 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.277 degree\n" + "2018-09-03 17:04:52,537 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-3\n" + "2018-09-03 17:04:52,537 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:04:59,128 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -7.363 mm\n" + "2018-09-03 17:04:59,128 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -7.937 mm\n" + "2018-09-03 17:04:59,128 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.427 degree\n" + "2018-09-03 17:13:12,139 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-1\n" + "2018-09-03 17:13:12,139 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:13:18,368 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -5.569 mm\n" + "2018-09-03 17:13:18,368 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 8.61 mm\n" + "2018-09-03 17:13:18,368 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.323 degree\n" + "2018-09-03 17:13:46,173 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-4\n" + "2018-09-03 17:13:46,173 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:13:52,689 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 2.851 mm\n" + "2018-09-03 17:13:52,689 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -14.372 mm\n" + "2018-09-03 17:13:52,689 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.545 degree\n" + "2018-09-03 17:18:18,452 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-10\n" + "2018-09-03 17:18:18,452 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:18:22,684 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -0.871 mm\n" + "2018-09-03 17:18:22,684 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -19.49 mm\n" + "2018-09-03 17:18:22,684 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.203 degree\n" + "2018-09-03 17:20:39,476 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-5\n" + "2018-09-03 17:20:39,476 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 17:20:43,518 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -13.235 mm\n" + "2018-09-03 17:20:43,518 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -6.123 mm\n" + "2018-09-03 17:20:43,518 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.03 degree\n" + "2018-09-03 17:21:11,630 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-7\n" + "2018-09-03 17:21:11,630 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:30:19,718 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -6.525 mm\n" + "2018-09-03 16:30:19,718 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -11.009 mm\n" + "2018-09-03 16:30:19,718 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.281 degree\n" + "2018-09-03 16:30:38,515 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-9\n" + "2018-09-03 16:30:38,515 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:30:42,565 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -8.606 mm\n" + "2018-09-03 16:30:42,565 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -9.534 mm\n" + "2018-09-03 16:30:42,565 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.294 degree\n" + "2018-09-03 16:33:14,656 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: USED19-1\n" + "2018-09-03 16:33:14,656 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: TOOL\n" + "2018-09-03 16:33:23,746 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 7.955 mm\n" + "2018-09-03 16:33:23,746 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 20.465 mm\n" + "2018-09-03 16:33:23,746 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.253 degree\n" + "2018-09-03 16:34:46,285 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-11\n" + "2018-09-03 16:34:46,285 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:34:53,548 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -17.533 mm\n" + "2018-09-03 16:34:53,548 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 6.772 mm\n" + "2018-09-03 16:34:53,548 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.34 degree\n" + "2018-09-03 16:36:27,749 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-6\n" + "2018-09-03 16:36:27,749 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:36:31,590 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -0.192 mm\n" + "2018-09-03 16:36:31,590 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -1.338 mm\n" + "2018-09-03 16:36:31,590 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.054 degree\n" + "2018-09-03 16:40:59,383 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-5\n" + "2018-09-03 16:40:59,383 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:41:03,086 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -9.786 mm\n" + "2018-09-03 16:41:03,086 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -1.101 mm\n" + "2018-09-03 16:41:03,086 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.182 degree\n" + "2018-09-03 16:48:42,205 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-7\n" + "2018-09-03 16:48:42,205 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:48:48,442 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -18.225 mm\n" + "2018-09-03 16:48:48,442 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 6.226 mm\n" + "2018-09-03 16:48:48,442 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.261 degree\n" + "2018-09-03 16:51:12,192 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-12\n" + "2018-09-03 16:51:12,192 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:51:16,776 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -26.979 mm\n" + "2018-09-03 16:51:16,776 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -12.255 mm\n" + "2018-09-03 16:51:16,776 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.112 degree\n" + "2018-09-03 16:54:04,799 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-9\n" + "2018-09-03 16:54:04,799 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:58:41,253 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BPRD26-2\n" + "2018-09-03 15:58:41,253 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: TOOL\n" + "2018-09-03 15:58:47,249 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 28.964 mm\n" + "2018-09-03 15:58:47,249 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 2.941 mm\n" + "2018-09-03 15:58:47,249 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -1.074 degree\n" + "2018-09-03 16:01:53,665 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-9\n" + "2018-09-03 16:01:53,665 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:01:57,748 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -11.841 mm\n" + "2018-09-03 16:01:57,748 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 3.664 mm\n" + "2018-09-03 16:01:57,748 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.107 degree\n" + "2018-09-03 16:04:33,799 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSPU16-2\n" + "2018-09-03 16:04:33,799 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: TOOL\n" + "2018-09-03 16:04:40,568 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 1.939 mm\n" + "2018-09-03 16:04:40,568 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -5.629 mm\n" + "2018-09-03 16:04:40,568 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -1.034 degree\n" + "2018-09-03 16:06:00,142 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-6\n" + "2018-09-03 16:06:00,142 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:06:04,160 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -9.188 mm\n" + "2018-09-03 16:06:04,160 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -8.466 mm\n" + "2018-09-03 16:06:04,160 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.269 degree\n" + "2018-09-03 16:08:41,291 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-11\n" + "2018-09-03 16:08:41,291 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:08:48,348 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -21.348 mm\n" + "2018-09-03 16:08:48,348 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 10.128 mm\n" + "2018-09-03 16:08:48,348 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.071 degree\n" + "2018-09-03 16:09:17,175 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-8\n" + "2018-09-03 16:09:17,175 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:09:21,280 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -15.557 mm\n" + "2018-09-03 16:09:21,280 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -11.727 mm\n" + "2018-09-03 16:09:21,280 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.139 degree\n" + "2018-09-03 16:09:40,126 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-5\n" + "2018-09-03 16:09:40,126 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:09:46,500 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -19.248 mm\n" + "2018-09-03 16:09:46,500 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -12.816 mm\n" + "2018-09-03 16:09:46,500 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.283 degree\n" + "2018-09-03 16:14:34,441 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-1\n" + "2018-09-03 16:14:34,441 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 16:14:40,948 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -17.236 mm\n" + "2018-09-03 16:14:40,948 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 3.144 mm\n" + "2018-09-03 16:14:40,948 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.228 degree\n" + "2018-09-03 15:31:13,616 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-11\n" + "2018-09-03 15:31:13,616 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:31:20,596 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -21.176 mm\n" + "2018-09-03 15:31:20,596 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -3.15 mm\n" + "2018-09-03 15:31:20,596 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.324 degree\n" + "2018-09-03 15:40:18,449 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-10\n" + "2018-09-03 15:40:18,449 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:40:24,637 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -5.911 mm\n" + "2018-09-03 15:40:24,637 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -6.734 mm\n" + "2018-09-03 15:40:24,637 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.131 degree\n" + "2018-09-03 15:43:07,931 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSPU16-1\n" + "2018-09-03 15:43:07,931 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: TOOL\n" + "2018-09-03 15:43:14,743 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -8.223 mm\n" + "2018-09-03 15:43:14,743 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -6.018 mm\n" + "2018-09-03 15:43:14,743 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.738 degree\n" + "2018-09-03 15:44:40,220 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-8\n" + "2018-09-03 15:44:40,220 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:44:46,928 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -23.359 mm\n" + "2018-09-03 15:44:46,928 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -40.274 mm\n" + "2018-09-03 15:44:46,928 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.348 degree\n" + "2018-09-03 15:44:46,932 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X In-Range: true\n" + "2018-09-03 15:44:46,932 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y In-Range: false\n" + "2018-09-03 15:44:46,932 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A In-Range: true\n" + "2018-09-03 15:44:46,933 INFO [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset is in Range to Compensate with the KMP\n" + "2018-09-03 15:44:59,332 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 3.914 mm\n" + "2018-09-03 15:44:59,332 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 7.295 mm\n" + "2018-09-03 15:44:59,332 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.023 degree\n" + "2018-09-03 15:47:31,807 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSPU22-1\n" + "2018-09-03 15:47:31,807 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: TOOL\n" + "2018-09-03 15:47:37,960 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 45.779 mm\n" + "2018-09-03 15:47:37,960 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -19.46 mm\n" + "2018-09-03 15:47:37,960 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -2.78 degree\n" + "2018-09-03 15:47:37,965 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X In-Range: false\n" + "2018-09-03 15:47:37,965 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y In-Range: true\n" + "2018-09-03 15:47:37,965 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A In-Range: true\n" + "2018-09-03 15:47:37,965 INFO [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset is in Range to Compensate with the KMP\n" + "2018-09-03 15:47:51,409 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -5.514 mm\n" + "2018-09-03 15:47:51,409 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -2.312 mm\n" + "2018-09-03 15:47:51,409 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.174 degree\n" + "2018-09-03 15:51:10,238 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-7\n" + "2018-09-03 15:51:10,238 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:51:16,421 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -11.68 mm\n" + "2018-09-03 15:51:16,421 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -15.848 mm\n" + "2018-09-03 15:51:16,421 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.43 degree\n" + "2018-09-03 15:55:08,131 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-2\n" + "2018-09-03 15:55:08,131 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:55:11,963 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 0.653 mm\n" + "2018-09-03 15:55:11,963 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -11.752 mm\n" + "2018-09-03 15:55:11,963 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.267 degree\n" + "2018-09-03 15:01:59,934 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-11\n" + "2018-09-03 15:01:59,934 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:02:04,408 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -19.251 mm\n" + "2018-09-03 15:02:04,408 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 0.336 mm\n" + "2018-09-03 15:02:04,408 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.335 degree\n" + "2018-09-03 15:06:52,873 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-16\n" + "2018-09-03 15:06:52,873 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:06:58,085 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -18.839 mm\n" + "2018-09-03 15:06:58,085 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -41.098 mm\n" + "2018-09-03 15:06:58,085 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -1.365 degree\n" + "2018-09-03 15:06:58,087 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X In-Range: true\n" + "2018-09-03 15:06:58,087 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y In-Range: false\n" + "2018-09-03 15:06:58,087 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A In-Range: true\n" + "2018-09-03 15:06:58,087 INFO [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset is in Range to Compensate with the KMP\n" + "2018-09-03 15:07:08,393 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 3.806 mm\n" + "2018-09-03 15:07:08,393 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 6.869 mm\n" + "2018-09-03 15:07:08,393 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.062 degree\n" + "2018-09-03 15:10:16,361 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BPRD26-1\n" + "2018-09-03 15:10:16,361 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: TOOL\n" + "2018-09-03 15:10:22,395 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 17.123 mm\n" + "2018-09-03 15:10:22,395 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -12.485 mm\n" + "2018-09-03 15:10:22,395 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.813 degree\n" + "2018-09-03 15:14:42,750 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-1\n" + "2018-09-03 15:14:42,750 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:14:49,057 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -8.084 mm\n" + "2018-09-03 15:14:49,057 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 0.323 mm\n" + "2018-09-03 15:14:49,057 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: 0.185 degree\n" + "2018-09-03 15:17:25,399 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-6\n" + "2018-09-03 15:17:25,399 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:17:29,369 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -3.101 mm\n" + "2018-09-03 15:17:29,369 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -20.468 mm\n" + "2018-09-03 15:17:29,369 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.0040 degree\n" + "2018-09-03 15:21:22,709 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-2\n" + "2018-09-03 15:21:22,709 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:21:26,624 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -4.536 mm\n" + "2018-09-03 15:21:26,624 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 2.836 mm\n" + "2018-09-03 15:21:26,624 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.042 degree\n" + "2018-09-03 15:26:42,393 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-7\n" + "2018-09-03 15:26:42,393 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:26:49,033 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: -12.533 mm\n" + "2018-09-03 15:26:49,033 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: 7.682 mm\n" + "2018-09-03 15:26:49,033 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.364 degree\n" + "2018-09-03 15:28:29,608 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Name: BSK270M1-5\n" + "2018-09-03 15:28:29,608 INFO [...PickTask@KMR200_6_Semiconductor_Fab_200] Target Type: ERACK\n" + "2018-09-03 15:28:35,821 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset X: 2.479 mm\n" + "2018-09-03 15:28:35,821 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset Y: -16.137 mm\n" + "2018-09-03 15:28:35,821 DEBUG [.. Parallel Task Thread] com.kuka.user.lbr.Job: Offset A: -0.288 degree\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