# Regexp$B$N;EMM$K$D$$$F(B

**URL:** <https://www.ruby-forum.com/t/regexp-b-n-emm-k-d-f-b/188313>\
**Category:** Development\
**Created:** [May 10, 2010, 5:37am UTC](https://www.ruby-forum.com/t/regexp-b-n-emm-k-d-f-b/188313 "2010-05-10T05:37:02Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Masaya\_TARUI](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc348/32.png) [@Masaya\_TARUI](https://www.ruby-forum.com/u/Masaya_TARUI)\
**Post date:** [May 10, 2010, 5:37am UTC](https://www.ruby-forum.com/t/regexp-b-n-emm-k-d-f-b/188313/1 "2010-05-10T05:37:02Z")

</div>

e$BC.2H$G$9!#e(B

[ruby-dev:41246]  
e$B$+$i$G!“e(BRegexpe$B$N;EMM$K$D$$$F$G$9$,!”$I$3$r$\_$l$P$$$$$N$+J,$+$i$:!"e(B  
e$B0J2\<$K$D$$$F;EMM$J$N$+%P%0$J$N$+H=CG$,IU$-$^$;$s!#e(B  
e$B$=$l$\>$l$I$&$J$s$G$7$g$&$+!)e(B

p /(?a)(b)/.match(“ab”).to\_a

# =\> [“ab”,“a”]

p [$~[“a”],$1,$2]

# =\> [“a”,“a”,nil]

p Regexp.union(/(a)b/,/(b)c\1/).match(“bcb”).to\_a

# =\> []

p Regexp.union(/(?a)b/,/(b)c\1/).match(“ab”).to\_a rescue p $!

# =\> #\<RegexpError: numbered backref/call is not allowed. (use name):

…  
p Regexp.union(/(?a)b/,/(?b)c\g/).match(“ab”).to\_a rescue p $!

# =\> #\<RegexpError: multiplex definition name call: …

e$B\>/$J$/$H$bF|K\8l%^%K%e%"%k$Ne(BRegexp#unione$B$G=q$+$l$F$$$ke(B  
e$B!V0z?t$H$7$FM?$($?e(B pattern e$B$rA\*Bre(B | e$B$GO"7k$7!“e(BRegexp  
e$B$H$7$FJV$7$^$9!#7k2L$Ne(B Regexp e$B$OM?$($?e(B pattern  
e$B$N$I$l$+$K%^%C%A$9$k\>l9g$K%^%C%A$9$k$b$N$K$J$j$^$9!#e(B e$B!We(B  
e$B$N$&$A!”!V7k2L$Ne(B Regexp e$B$OM?$($?e(B pattern  
e$B$N$I$l$+$K%^%C%A$9$k\>l9g$K%^%C%A$9$k$b$N$K$J$j$^$9!#!W$O:#$N$H$3$m13$K8+$($^$9!#e(B

e$B8D?ME\*$K$O;H$C$?;v$N$J$$%a%=%C%I$G$9$,!"$o$6$o$6%a%=%C%I$K$7$F$$$k$+$i$K$O8eJ};2\>H$J$I$r$&$^$/=hM}$7$FM\_$7$$$+$J$H$b;W$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Masaya\_TARUI](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc348/32.png) [@Masaya\_TARUI](https://www.ruby-forum.com/u/Masaya_TARUI)\
**Post date:** [May 10, 2010, 6:23am UTC](https://www.ruby-forum.com/t/regexp-b-n-emm-k-d-f-b/188313/2 "2010-05-10T06:23:52Z")

</div>

2010e$BG/e(B5e$B7ne(B10e$BF|e(B12:36 Masaya TARUI [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> [ruby-dev:41246] e$B$+$i$G!“e(BRegexpe$B$N;EMM$K$D$$$F$G$9$,!”$I$3$r$\_$l$P$$$$$N$+J,$+$i$:!"e(B  
> e$B0J2\<$K$D$$$F;EMM$J$N$+%P%0$J$N$+H=CG$,IU$-$^$;$s!#e(B

e$B8=\>u!"e(BRegexp.union e$B$O8eJ};2\>H$r9MN8$7$F$$$^$;$s!#e(B

e$B;d$NCN$k8B$j!“$=$l$r9MN8$9$k$h$&$K$9$k7W2h$O$”$j$^$;$s!#e(B

e$B$=$l$r9MN8$9$k$K$O!“\>/$J$/$F$b@55,I=8=$NCf?H$r$”$kDxEYM}2r$7$J$$$H$$$1$J$$e(B  
e$B$N$G!"$J$+$J$+$?$$$X$s$J5$$,$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Masaya\_TARUI](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc348/32.png) [@Masaya\_TARUI](https://www.ruby-forum.com/u/Masaya_TARUI)\
**Post date:** [May 10, 2010, 1:39pm UTC](https://www.ruby-forum.com/t/regexp-b-n-emm-k-d-f-b/188313/3 "2010-05-10T13:39:20Z")

</div>

2010e$BG/e(B5e$B7ne(B10e$BF|e(B13:23 Tanaka A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B$N$G!“$J$+$J$+$?$$$X$s$J5$$,$7$^$9!#e(B  
> e$B7W2h$O$J$$$H$7$F!”;EMM$J$N$G$7$g$&$+!)%P%0$J$N$G$7$g$&$+!)e(B

1. e$B%P%0$G$"$k!#$,e(BWONTFIXe$B$b$7$/$O%Q%C%A4?7^e(B?  
=\>  
e$B%P%0$N$^$^%j%j!\<%9$9$ke(B(e$B$7$F$$$ke(B)e$B$J$i%I%-%e%a%s%H$KCm\<ae(B

2. e$B8eJ};2\>H$r5v$5$J$$$N$,;EMMe(B  
=\> e$B%I%-%e%a%s%H%P%0!#$5$i$K8eJ};2\>H$r4^$`;~$KNc30$r=P$9$Y$-!)e(B

3. e$B8eJ};2\>H$,F~$k$HF0:nL$Dj5A$,;EMMe(B  
=\> e$B%I%-%e%a%s%H%P%0e(B

e$BA0=R$7$^$7$?$,8D?ME\*$K$Oe(B1e$B$,9%$^$7$$$H;W$C$F$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Masaya\_TARUI](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc348/32.png) [@Masaya\_TARUI](https://www.ruby-forum.com/u/Masaya_TARUI)\
**Post date:** [May 10, 2010, 6:35pm UTC](https://www.ruby-forum.com/t/regexp-b-n-emm-k-d-f-b/188313/4 "2010-05-10T18:35:38Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:41249] Re: Regexpe$B$N;EMM$K$D$$$Fe(B”  
on Mon, 10 May 2010 20:39:03 +0900, Masaya TARUI [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
writes:

|e$B7W2h$O$J$$$H$7$F!“;EMM$J$N$G$7$g$&$+!)%P%0$J$N$G$7$g$&$+!)e(B  
|  
|1) e$B%P%0$G$”$k!#$,e(BWONTFIXe$B$b$7$/$O%Q%C%A4?7^e(B?  
|=\> e$B%P%0$N$^$^%j%j!\<%9$9$ke(B(e$B$7$F$$$ke(B)e$B$J$i%I%-%e%a%s%H$KCm\<ae(B  
|  
|2) e$B8eJ};2\>H$r5v$5$J$$$N$,;EMMe(B  
|=\> e$B%I%-%e%a%s%H%P%0!#$5$i$K8eJ};2\>H$r4^$`;~$KNc30$r=P$9$Y$-!)e(B  
|  
|3) e$B8eJ};2\>H$,F~$k$HF0:nL$Dj5A$,;EMMe(B  
|=\> e$B%I%-%e%a%s%H%P%0e(B  
|  
|e$BA0=R$7$^$7$?$,8D?ME\*$K$Oe(B1e$B$,9%$^$7$$$H;W$C$F$$$^$9!#e(B

e$B;DG0$J$,$i8=;~E@$G$Oe(B(3)e$B$G$9$M!#$?$@$7!“%Q%C%A$,EP\>l$9$k$J$Ie(B  
e$B\>u67$,JQ$o$l$P!”$3$NH=CG$bJQ2=$9$k$H;W$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Masaya\_TARUI](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc348/32.png) [@Masaya\_TARUI](https://www.ruby-forum.com/u/Masaya_TARUI)\
**Post date:** [May 10, 2010, 7:00pm UTC](https://www.ruby-forum.com/t/regexp-b-n-emm-k-d-f-b/188313/5 "2010-05-10T19:00:13Z")

</div>

e$B@.@%$G$9!#e(B

(2010/05/10 20:39), Masaya TARUI wrote:

> > e$B$=$l$r9MN8$9$k$K$O!"\>/$J$/$F$b@55,I=8=$NCf?H$r$"$kDxEYM}2r$7$J$$$H$$$1$J$$e(B
> 
> 1. e$B8eJ};2\>H$,F~$k$HF0:nL$Dj5A$,;EMMe(B  
> =\> e$B%I%-%e%a%s%H%P%0e(B
> 
> e$BA0=R$7$^$7$?$,8D?ME\*$K$Oe(B1e$B$,9%$^$7$$$H;W$C$F$$$^$9!#e(B

e$B7kO@$+$i8@$($Pe(B 3) e$B$+$H;W$$$^$9!#e(B  
e$B$=$b$=$b$N!Ve(BMRI  
e$B$N;EMM!W$H$O2?$+$H$$$&$N$OFq$7$$LdBj$@$H;W$$$^$9$,!“e(B  
e$B%3!\<%I$de(B rdoc e$B$NGX7J$K$”$k0U?^$H$7$^$7$g$&$+!#e(B  
e$B$=$N\>l9g!"!VFC$K0U?^$O$J$$$,8=\>u$O$=$&$J$C$F$$$k!W$J$N$GK]Lu$9$k$H!“e(B  
e$B!VF0:nL$Dj5A!W$K$J$k$h$&$J5$$b$7$^$9!#e(B  
e$B$b$C$H$b!”\<BAu8\_49@-$b$?$^$K9MN8$7$?$j$9$k$N$G!":#$NJQ$JF0$-$,e(B  
e$B!V;EMM!W$H8@$($J$/$b$"$j$^$;$s!#e(B

e$B0lJ}$G!“e(BMRI  
e$B$N\>l9gF0:nL$Dj5A$KBP$7$F$O;EMM%P%0$G$”$k$H$$$&\<gD%$,DL$j$d$9$$e(B  
e$B5$$b$9$k$N$G!“e(B1)  
e$B$K6a$$\>l9g$b$”$j$^$9!#e(B(e$B\<BAu8\_49@-$r\<i$kI,MW$,$J$5$=$&$J\>l9ge(B)

e$B:#2s$N\>l9g!"C/$+$,$=$l$C$]$$%f!\<%9%1!\<%9$H%Q%C%A$rMQ0U$9$l$P!“e(B  
1.9.3 e$B$+$iJQ$o$k$H$$$&$N$O$”$j$=$&$JOC$G$9!#e(B

---

<div class="post-metadata">

**Author:** ![Masaya\_TARUI](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/9fc348/32.png) [@Masaya\_TARUI](https://www.ruby-forum.com/u/Masaya_TARUI)\
**Post date:** [May 11, 2010, 5:29am UTC](https://www.ruby-forum.com/t/regexp-b-n-emm-k-d-f-b/188313/6 "2010-05-11T05:29:35Z")

</div>

e$BC.2H$G$9!#e(B

> e$B7kO@$+$i8@$($Pe(B 3) e$B$+$H;W$$$^$9!#e(B  
> e$B$=$b$=$b$N!Ve(BMRI e$B$N;EMM!W$H$O2?$+$H$$$&$N$OFq$7$$LdBj$@$H;W$$$^$9$,!“e(B  
> e$B%3!\<%I$de(B rdoc e$B$NGX7J$K$”$k0U?^$H$7$^$7$g$&$+!#e(B  
> e$B$=$N\>l9g!"!VFC$K0U?^$O$J$$$,8=\>u$O$=$&$J$C$F$$$k!W$J$N$GK]Lu$9$k$H!“e(B  
> e$B!VF0:nL$Dj5A!W$K$J$k$h$&$J5$$b$7$^$9!#e(B  
> e$B$b$C$H$b!”\<BAu8\_49@-$b$?$^$K9MN8$7$?$j$9$k$N$G!":#$NJQ$JF0$-$,e(B  
> e$B!V;EMM!W$H8@$($J$/$b$"$j$^$;$s!#e(B
> 
> e$B0lJ}$G!“e(BMRI e$B$N\>l9gF0:nL$Dj5A$KBP$7$F$O;EMM%P%0$G$”$k$H$$$&\<gD%$,DL$j$d$9$$e(B  
> e$B5$$b$9$k$N$G!“e(B1) e$B$K6a$$\>l9g$b$”$j$^$9!#e(B(e$B\<BAu8\_49@-$r\<i$kI,MW$,$J$5$=$&$J\>l9ge(B)

e$BGX7J$H8@$o$l$k$H$o$+$i$J$$$N$G$9$,e(Brdoce$B$NI=$K$"$i$o$l$F$k0U?^$H$7$F$O!"e(B

Return a Regexp object that is the union of the given patterns, i.e.,  
will match any of its parts. The patterns can be Regexp objects, in  
which case their options will be preserved, or Strings. If no  
arguments are given, returns /(?!)/.

e$BFC$Ke(B"match any of its  
parts"e$B$@$H;W$&$N$G$9$,!"8D!9$G@5$7$$@55,I=8=$re(BRegexp#unione$B$G9g$o$;$Fe(Bmatch  
any of its parts  
e$B$r\<B8=$G$-$F$$$J$$$N$,%P%0$G$O$J$$$+$H;W$C$?$N$G$9!#e(B

e$B$A$J$_$K%3!\<%I$r3NG’$7$F0J2\<$N$h$&$J%3!\<%J!\<%1!\<%9$r=q$$$F$_$^$7$?!#e(B  
a=/#{"(a)"\*9}/  
b=/(b)\10/  
c=/©/  
[  
b,  
Regexp.union(a,b,c),  
Regexp.union(b,a,c),  
Regexp.union(a,c,b)  
].each{|re|  
p [re === “b\10”,re === “bb”]  
}  
e$B7k2L$Oe(B  
[true, false]  
[false, true]  
[true, false]  
[false, false]  
e$B$K$J$j$^$9!#e(B

e$B8=\<BE\*$J%3!\<%I$G$O$J$$$b$N$N!"$d$O$j$3$l$,;EMM$@$H$$$o$l$k$H$7$C$/$j$3$J$$$b$N$,$"$j$^$9!#e(B  
e$B\<g4QE\*$J$b$N$J$N$G!“6&46$,F@$i$l$k$+$I$&$+$@$1$G$9$,!”$=$s$J$3$H$O$J$$$G$7$g$&$+!)e(B

e$B$?$@!“e(BKNOWNBUG  
e$B$K$7$H$/$h$j;EMM$H$7$F$\*$/;v$NMxE@$b@bF@$5$l$?;v$G$9$7!“FC$K%f!\<%9%1!\<%9$,$”$k$o$1$G$b$J$$$N$G!”!IBgB??t$NMQES!I$Ge(B"match  
any of its parts"e$B$G$"$k;v$,;EMM$@$H$$$&$J$i!"e(Brdoc  
e$B$H\<BAu$,9g$C$F$$$l$P$=$l$O$=$l$GN;2r$G$9!#e(B

#e$B%^%K%e%"%k$Ne(Btrape$B$K$O5-:$7$F$[$7$$$G$9$,$=$&$$$&$N$O$I$3$K8@$($P$$$$$s$G$7$g$&$+!)e(B

> e$B:#2s$N\>l9g!"C/$+$,$=$l$C$]$$%f!\<%9%1!\<%9$H%Q%C%A$rMQ0U$9$l$P!“e(B  
> 1.9.3 e$B$+$iJQ$o$k$H$$$&$N$O$”$j$=$&$JOC$G$9!#e(B

e$BLdBj$K$7$F$$$k$N$O%I%-%e%a%s%H$HF0:n$,?)$$0c$C$F$$$kE@$Ge(B(1)e$B$,$$$$$H$$$&$N$O$"$/$^$G4uK\>$J$N$G!"e(B  
e$B$=$l$K$D$$$F$O$b$72\>$K$$$$%Q%C%A$,MQ0U$G$-$?$ie(BFeaturee$B$G%A%1%C%H$r$-$C$F$\_$k;v$K$7$^$9!#e(B
