{"id":268,"date":"2009-03-12T16:07:00","date_gmt":"2009-03-12T16:07:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=268"},"modified":"2009-03-12T16:07:00","modified_gmt":"2009-03-12T16:07:00","slug":"java-7-und-named-capturing-group","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2009\/03\/java-7-und-named-capturing-group\/","title":{"rendered":"Java 7 und Named Capturing Group"},"content":{"rendered":"<p>Hatte man bei regul&#228;re Ausdr&#252;cken und Gruppen auf die Gruppen &#252;ber eine Index zugreifen m&#252;ssen, so kann man dies in Java 7 auch &#252;ber einen Namen tun; das ganze nennt sich dann <a href=\"http:\/\/cr.openjdk.java.net\/%7Esherman\/6350801\/webrev.00\/regex\/Pattern.html#groupname\">named capturing group<\/a>:<\/p>\n<p>&#160; String pStr = &quot;0x(?&lt;<b><i>bytes<\/i><\/b>&gt;\\\\p{XDigit}{1,4})\\\\s++u\\\\+(?&lt;<i><b>char<\/b><\/i>&gt;\\\\p{XDigit}{4})(?:\\\\s++)?&quot;;    <br \/>&#160;&#160;&#160; Matcher m = Pattern.compile(pStr).matcher(INPUTTEXT);    <br \/>&#160;&#160;&#160; if (m.matches()) {    <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; int bs = Integer.valueOf(m.group(&quot;<i><b>bytes<\/b><\/i>&quot;), 16);    <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; int c =&#160; Integer.valueOf(m.group(&quot;<i><b>char<\/b><\/i>&quot;), 16);    <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.printf(&quot;[%x] -&gt; [%04x]%n&quot;, bs, c);    <br \/>&#160;&#160;&#160; }<\/p>\n<p>Der Blog-Eintrag <a title=\"http:\/\/blogs.sun.com\/xuemingshen\/entry\/named_capturing_group_in_jdk7\" href=\"http:\/\/blogs.sun.com\/xuemingshen\/entry\/named_capturing_group_in_jdk7\">http:\/\/blogs.sun.com\/xuemingshen\/entry\/named_capturing_group_in_jdk7<\/a> gibt es in paar mehr Infos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hatte man bei regul&#228;re Ausdr&#252;cken und Gruppen auf die Gruppen &#252;ber eine Index zugreifen m&#252;ssen, so kann man dies in Java 7 auch &#252;ber einen Namen tun; das ganze nennt sich dann named capturing group: &#160; String pStr = &quot;0x(?&lt;bytes&gt;\\\\p{XDigit}{1,4})\\\\s++u\\\\+(?&lt;char&gt;\\\\p{XDigit}{4})(?:\\\\s++)?&quot;; &#160;&#160;&#160; Matcher m = Pattern.compile(pStr).matcher(INPUTTEXT); &#160;&#160;&#160; if (m.matches()) { &#160;&#160;&#160;&#160;&#160;&#160;&#160; int bs = Integer.valueOf(m.group(&quot;bytes&quot;), 16); [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[5],"tags":[],"class_list":["post-268","post","type-post","status-publish","format-standard","hentry","category-java-7"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=268"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/268\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}