Regular expressions: Difference between revisions
Content added Content deleted
Jazzedpineda (talk | contribs) (Omitted EasyLang) |
|||
Line 1,246: | Line 1,246: | ||
=={{header|Java}}== |
=={{header|Java}}== |
||
<syntaxhighlight lang="java"> |
|||
/* match entire string against a pattern */ |
|||
boolean isNumber = "-1234.567".matches("-?\\d+(?:\\.\\d+)?"); |
|||
/* substitute part of string using a pattern */ |
|||
String reduceSpaces = "a b c d e f".replaceAll(" +", " "); |
|||
</syntaxhighlight> |
|||
<syntaxhighlight lang="java"> |
|||
import java.util.regex.Matcher; |
|||
import java.util.regex.Pattern; |
|||
... |
|||
/* group capturing example */ |
|||
Pattern pattern = Pattern.compile("(?:(https?)://)?([^/]+)/(?:([^#]+)(?:#(.+))?)?"); |
|||
Matcher matcher = pattern.matcher("https://rosettacode.org/wiki/Regular_expressions#Java"); |
|||
if (matcher.find()) { |
|||
String protocol = matcher.group(1); |
|||
String authority = matcher.group(2); |
|||
String path = matcher.group(3); |
|||
String fragment = matcher.group(4); |
|||
} |
|||
</syntaxhighlight> |
|||
<syntaxhighlight lang="java"> |
|||
/* split a string using a pattern */ |
|||
String[] strings = "abc\r\ndef\r\nghi".split("\r\n?"); |
|||
</syntaxhighlight> |
|||
<br /> |
|||
An alternate demonstration |
|||
{{works with|Java|1.4+}} |
{{works with|Java|1.4+}} |
||
Test |
Test |