Skip to content

Commit aa3d67a

Browse files
authored
[PHP 8.4] PCRE - PCRE2-v10.44 updates を取り込み (#248)
1 parent 26cafd6 commit aa3d67a

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

reference/pcre/pattern.modifiers.xml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
3-
<!-- EN-Revision: 288ea761f5a8e7c685fe7f6fce2d7de0a87b31bd Maintainer: takagi Status: ready -->
3+
<!-- EN-Revision: c43393d1b64a41be1b8c45f997062b0f645bc91e Maintainer: takagi Status: ready -->
44
<!-- Credits: hirokawa,haruki,mumumu -->
55
<article xml:id="reference.pcre.pattern.modifiers" xmlns="http://docbook.org/ns/docbook">
66
<title>パターン修飾子</title>
@@ -181,6 +181,22 @@
181181
</simpara>
182182
</listitem>
183183
</varlistentry>
184+
<varlistentry>
185+
<term><emphasis>r</emphasis> (<literal>PCRE2_EXTRA_CASELESS_RESTRICT</literal>)</term>
186+
<listitem>
187+
<simpara>
188+
<emphasis>u</emphasis> (<literal>PCRE_UTF8</literal>) と <emphasis>i</emphasis> (<literal>PCRE_CASELESS</literal>) が
189+
有効なとき、この修飾子を使うと ASCII 文字と非 ASCII 文字同士がマッチしなくなります。
190+
</simpara>
191+
<simpara>
192+
例えば、<code>preg_match('/\x{212A}/iu', "K")</code> はケルビン記号 <literal>K</literal> (U+212A) にマッチします。
193+
<emphasis>r</emphasis> を使うと (<code>preg_match('/\x{212A}/iur', "K")</code>)、マッチしなくなります。
194+
</simpara>
195+
<simpara>
196+
PHP 8.4.0 以降で利用可能です。
197+
</simpara>
198+
</listitem>
199+
</varlistentry>
184200
</variablelist>
185201
</blockquote>
186202
</para>

reference/pcre/pattern.syntax.xml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- $Revision$ -->
33
<!-- splitted from ./ja/functions/pcre.xml, last change in rev 1.1 -->
4-
<!-- EN-Revision: 77fe733a1ba9c961424adcb7c9af00c1f5443a77 Maintainer: takagi Status: ready -->
4+
<!-- EN-Revision: c43393d1b64a41be1b8c45f997062b0f645bc91e Maintainer: takagi Status: ready -->
55
<!-- Credits: haruki,hirokawa,mumumu -->
66
<chapter xml:id="reference.pcre.pattern.syntax" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
77
<title>パターン構文</title>
@@ -1621,11 +1621,23 @@
16211621
\d{8}
16221622
</literallayout>
16231623

1624-
は、ぴったり 8 桁の数字にのみマッチします。開き波カッコは、
1624+
は、ぴったり 8 桁の数字にのみマッチします。
1625+
1626+
</para>
1627+
<simpara>
1628+
PHP 8.4.0 より前のバージョンでは、開き波カッコは、
16251629
量指定子を置けない場所、つまり量指定子の構文に適合しない場所に
16261630
記述された場合、文字リテラルとして解釈されます。例えば、
1627-
{,6} は量指定子ではなく、4つの文字からなる文字リテラルとなります。
1628-
</para>
1631+
<literal>{,6}</literal> は量指定子ではなく、4つの文字からなる文字列リテラルとなります。
1632+
1633+
PHP 8.4.0 以降では、PCRE 拡張モジュールに PCRE2 ライブラリのバージョン 10.44 がバンドルされています。
1634+
このバージョンでは <literal>\d{,8}</literal> のようなパターンが書けるようになり、
1635+
<literal>\d{0,8}</literal> と同じ意味になります。
1636+
1637+
更に、PHP 8.4.0 以降では、
1638+
<literal>\d{0 , 8}</literal> や <literal>\d{ 0 , 8 }</literal> のように
1639+
量指定子の開き波カッコの周りに空白文字を入れることができます。
1640+
</simpara>
16291641
<para>
16301642
{0} という量指定子の指定も可能です。
16311643
直前の項目および量指定子が存在しないという指定になります。

0 commit comments

Comments
 (0)