- Save Regexctrl+s

- PCRE2 (PHP >=7.3)
- PCRE (PHP <7.3)
- ECMAScript (JavaScript)
- Python
- Golang
- Java 8

- Match
- Substitution
- List
- Unit Tests (13)

Sponsor

Jamstack at Scale

/

^\s*((([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s+){1}([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*,?\s*)*$

/

gm

^ asserts position at start of a line

\s

matches any whitespace character (equivalent to [\r\n\t\f\v \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff])* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

1st Capturing Group

((([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s+){1}([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*,?\s*)*

* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data

2nd Capturing Group

(([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s+){1}

{1} matches the previous token exactly one time (meaningless quantifier)

A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data

3rd Capturing Group

([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)

Match a single character present in the list below

[+-]

? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)

+ matches the character + with index 43_{10} (2B_{16} or 53_{8}) literally (case sensitive)

- matches the character - with index 45_{10} (2D_{16} or 55_{8}) literally (case sensitive)

This hyphen is treated literally, which might be confusing for others. Consider escaping it or placing at the start or end of the class!

4th Capturing Group

((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)

1st Alternative

(0|[1-9][0-9]*)(\.[0-9]*)?

5th Capturing Group

(0|[1-9][0-9]*)

1st Alternative

0

0 matches the character 0 with index 48_{10} (30_{16} or 60_{8}) literally (case sensitive)

2nd Alternative

[1-9][0-9]*

Match a single character present in the list below

[1-9]

1-9 matches a single character in the range between 1 (index 49) and 9 (index 57) (case sensitive)

Match a single character present in the list below

[0-9]

* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

6th Capturing Group

(\.[0-9]*)?

? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)

\. matches the character . with index 46_{10} (2E_{16} or 56_{8}) literally (case sensitive)

Match a single character present in the list below

[0-9]

* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

2nd Alternative

\.[0-9]+

\. matches the character . with index 46_{10} (2E_{16} or 56_{8}) literally (case sensitive)

Match a single character present in the list below

[0-9]

+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

7th Capturing Group

([Ee][+-]?[0-9]+)?

? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)

Match a single character present in the list below

[Ee]

Ee

matches a single character in the list Ee (case sensitive)Match a single character present in the list below

[+-]

+ matches the character + with index 43_{10} (2B_{16} or 53_{8}) literally (case sensitive)

- matches the character - with index 45_{10} (2D_{16} or 55_{8}) literally (case sensitive)

This hyphen is treated literally, which might be confusing for others. Consider escaping it or placing at the start or end of the class!

Match a single character present in the list below

[0-9]

+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

\s

matches any whitespace character (equivalent to [\r\n\t\f\v \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff])+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)

8th Capturing Group

([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)

Match a single character present in the list below

[+-]

+ matches the character + with index 43_{10} (2B_{16} or 53_{8}) literally (case sensitive)

- matches the character - with index 45_{10} (2D_{16} or 55_{8}) literally (case sensitive)

This hyphen is treated literally, which might be confusing for others. Consider escaping it or placing at the start or end of the class!

9th Capturing Group

((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)

1st Alternative

(0|[1-9][0-9]*)(\.[0-9]*)?

10th Capturing Group

(0|[1-9][0-9]*)

1st Alternative

0

0 matches the character 0 with index 48_{10} (30_{16} or 60_{8}) literally (case sensitive)

2nd Alternative

[1-9][0-9]*

Match a single character present in the list below

[1-9]

1-9 matches a single character in the range between 1 (index 49) and 9 (index 57) (case sensitive)

Match a single character present in the list below

[0-9]

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

11th Capturing Group

(\.[0-9]*)?

\. matches the character . with index 46_{10} (2E_{16} or 56_{8}) literally (case sensitive)

Match a single character present in the list below

[0-9]

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

2nd Alternative

\.[0-9]+

\. matches the character . with index 46_{10} (2E_{16} or 56_{8}) literally (case sensitive)

Match a single character present in the list below

[0-9]

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

12th Capturing Group

([Ee][+-]?[0-9]+)?

Match a single character present in the list below

[Ee]

Ee

matches a single character in the list Ee (case sensitive)Match a single character present in the list below

[+-]

+ matches the character + with index 43_{10} (2B_{16} or 53_{8}) literally (case sensitive)

Match a single character present in the list below

[0-9]

0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)

\s

matches any whitespace character (equivalent to [\r\n\t\f\v \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]),

matches the character , with index 44\s

matches any whitespace character (equivalent to [\r\n\t\f\v \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff])$ asserts position at the end of a line

Global pattern flags

g modifier: **g**lobal. All matches (don't return after first match)

m modifier: **m**ulti line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)

/

/

gm

X3D MFVec2f/MFVec2d empty

X3D MFVec2f/MFVec2d 1 2

X3D MFVec2f/MFVec2d 1.0 2.0

X3D MFVec2f/MFVec2d 3 4 5 illegal array, must be 2-tuple multiple

X3D MFVec2f/MFVec2d -3 -4

X3D MFVec2f/MFVec2d -3.0 -4

X3D MFVec2f/MFVec2d -3 -4 whitespace

X3D MFVec2f/MFVec2d false true illegal string

X3D MFVec2f/MFVec2d NaN NaN illegal value

X3D MFVec2f/MFVec2d .6 .7 (no leading zero)

X3D MFVec2f/MFVec2d -.6 -.7 (no leading zero)

X3D MFVec2f/MFVec2d .6e7 .7e8 8 9 (no leading zero)

X3D MFVec2f/MFVec2d -.6e7 -.7e8 -8 -9(no leading zero)

Please wait while the app is loading...