⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 group.htm

📁 这个压缩包里的都是超级经典的java例子
💻 HTM
字号:
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>Capturing Text in a Group in a Regular Expression (Java Developers Almanac Example)
</TITLE>
<META CONTENT="Patrick Chan" NAME="AUTHOR">
<META CONTENT="Code Examples from The Java Developers Almanac 1.4" NAME="DESCRIPTION">
<META CONTENT="Addison-Wesley/Patrick Chan" NAME="OWNER">
<META CONTENT="3/20/02" NAME="revision">
<META CONTENT="no-cache" HTTP-EQUIV="Pragma">
<LINK href="/almanac.css" media="screen" type="text/css" rel="stylesheet">
</HEAD>
<BODY>
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD></TD>
</TR>
</TABLE>
<br>
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD></TD>
</TR>
<TR>
<TD rowspan="3"><A HREF="/?l=ex"><IMG BORDER="0" ALIGN="BOTTOM" HSPACE="10" SRC="/egs/almanac14a.jpg"></A></TD><TD VALIGN="top">
<h1>The Java Developers Almanac 1.4</h1>
<br>
        Order this book from <a href="/cgi-bin/scripts/redirect.pl?l=ex&url=http://www.amazon.com/exec/obidos/ASIN/0201752808/xeo">Amazon</a>.
    </TD>
</TR>
<TR>
<TD align="right" valign="bottom">
<FORM method="get" action="/cgi-bin/search/find.pl">
<INPUT size="25" name="words" type="text"><INPUT value="Search" type="submit">
</FORM>
</TD>
</TR>
</TABLE>
<HR color="#6666cc">
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD valign="top"><script type="text/javascript">
<!--
google_ad_client = "pub-6001183370374757";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_channel = "4777242811";
google_ad_type = "text_image";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "6666CC";
google_color_url = "6666CC";
google_color_text = "000000";
//--></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></TD><TD>&nbsp;&nbsp;&nbsp;</TD><TD valign="top">
<DIV ALIGN="LEFT">
<A HREF="/">Home</A>
    &gt;
    <A HREF="../index.html">List of Packages</A>
    &gt;

    
    <A HREF="../java.util.regex/pkg.html">java.util.regex</A><font color="#666666" class="xsmall-font">
        &nbsp;[26 examples]
    </font>
        &gt;
        <B><A HREF="../java.util.regex/pkg.html#Groups">Groups</A></B><font color="#666666" class="xsmall-font">
            &nbsp;[5 examples]
            </font>
</DIV><P>
  <h3>e436. Capturing Text in a Group in a Regular Expression</h3>

A <font color="#0066ff"><i>group</i></font> is a pair of parentheses used to group subpatterns. For
example, <code>h(a|i)t</code> matches <code>hat</code> or <code>hit</code>.  A group
also captures the matching text within the parentheses. For example,


<pre>    input:   abbc
    pattern: a(b*)c
</pre>

causes the substring <code>bb</code> to be captured by the group <code>(b*)</code>.
A  pattern can have more than one group and the groups can be nested.
For example,


<pre>    pattern: (a(b*))+(c*)
</pre>

contains three groups:


<pre>    group 1: (a(b*))
    group 2: (b*)
    group 3: (c*)
</pre>

The groups are numbered from left to right, outside to inside.  There
is an implicit group 0, which contains the entire match.  Here is an
example of what is captured in groups.



Notice that group 1 was applied twice, once to the input <code>abb</code> and
then to the input <code>ab</code>.  Only the most recent match is captured.
Note that when using * on a group and the group matches zero
times, the group will not be cleared. In particular, it will hold the
most recently captured text.  For example,


<pre>    input:   aba
    pattern: (a(b)*)+
    group 0: aba
    group 1: a
    group 2: b
</pre>

Group 1 first matched <code>ab</code> capturing <code>b</code> in group 2.  Group 1 then
matched the <code>a</code> with group 2 matching zero <code>b</code>s, therefore leaving
intact the previously captured <code>b</code>.

<P> Note: If it is not necessary for a group to capture text, you
should use a non-capturing group since it is more efficient. For more
information, see <a href="../java.util.regex/NoGroup.html" class="eglink"><b>e438</b> Using a Non-Capturing Group in a Regular Expression</a>.

<P>
This example demonstrates how to retrieve the text in a group.


<pre>    CharSequence inputStr = <font color="#0066ff"><i>"abbabcd"</i></font>;
    String patternStr = <font color="#0066ff"><i>"(a(b*))+(c*)"</i></font>;
    
    // Compile and use regular expression
    Pattern pattern = Pattern.compile(patternStr);
    Matcher matcher = pattern.matcher(inputStr);
    boolean matchFound = matcher.find();
    
    if (matchFound) {
        // Get all groups for this match
        for (int i=0; i&lt;=matcher.groupCount(); i++) {
            String groupStr = matcher.group(i);
        }
    }
</pre>
<P><table width="600" CELLSPACING="0" CELLPADDING="2" BORDER="0">
<tr>
<td bgcolor="#6666cc" align="center"><font color="#ffffff">
            &nbsp;<b>Related Examples</b></font></td>
</tr>
</table>


e437. <a class="eglink" href="GroupIx.html?l=rel">
    Getting the Indices of a Matching Group in a Regular Expression
</a>
<br>

e438. <a class="eglink" href="NoGroup.html?l=rel">
    Using a Non-Capturing Group in a Regular Expression
</a>
<br>

e439. <a class="eglink" href="GroupInPat.html?l=rel">
    Using the Captured Text of a Group within a Pattern
</a>
<br>

e440. <a class="eglink" href="GroupInRep.html?l=rel">
    Using the Captured Text of a Group within a Replacement Pattern
</a>
<br>


<table width="600" CELLSPACING="0" CELLPADDING="2" BORDER="0">
<tr>
<td align="left">
<br>
        See also: 
<a class="eglink" href="/egs/java.util.regex/pkg.html?l=rel#Flags">
    Flags
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.util.regex/pkg.html?l=rel#Lines">
    Lines
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.util.regex/pkg.html?l=rel#Paragraphs">
    Paragraphs
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.util.regex/pkg.html?l=rel#Searching%20and%20Replacing">
    Searching and Replacing
</a>&nbsp;&nbsp;

<a class="eglink" href="/egs/java.util.regex/pkg.html?l=rel#Tokenizing">
    Tokenizing
</a>&nbsp;&nbsp;

</td>
</tr>
</table>

<br>

<br>
<FONT class="xsmall-font">
&copy; 2002 Addison-Wesley.
</FONT></TD><TD>&nbsp;&nbsp;&nbsp;</TD><TD valign="top"><A href="http://compositesw.com/devzone?ref=javaalmanac"><IMG alt="Click Here" height="600" width="120" border="0" src="/csw_oad_120x600_final.gif"></A></TD>
</TR>
</TABLE>
</BODY>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META CONTENT="NO-CACHE" HTTP-EQUIV="PRAGMA">
</HEAD>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -