クラスPattern

java.lang.Object
java.util.regex.Pattern
ã™ã¹ã¦ã®å®Ÿè£…ã•れãŸã‚¤ãƒ³ã‚¿ãƒ•ェース:
Serializable

public final class Pattern extends Object implements Serializable
コンパイル済ã¿ã®æ­£è¦è¡¨ç¾ã§ã™ã€‚

æ­£è¦è¡¨ç¾ã¯ã€æ–‡å­—列ã¨ã—ã¦æŒ‡å®šã—ã€ã“ã®ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«ã‚³ãƒ³ãƒ‘イルã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ çµæžœã®ãƒ‘ターンを使用ã—ã¦ã€ä»»æ„ã®æ–‡å­—シーケンスを正è¦è¡¨ç¾ã¨ãƒžãƒƒãƒã§ãã‚‹Matcherオブジェクトを作æˆã§ãã¾ã™ã€‚ マッãƒã‚’実行ã—ãŸã¨ãã®çŠ¶æ…‹ã¯ã™ã¹ã¦ãƒžãƒƒãƒãƒ£ã«æ ¼ç´ã•れã¾ã™ã€‚ã“ã®ãŸã‚ã€è¤‡æ•°ã®ãƒžãƒƒãƒãƒ£ãŒåŒã˜ãƒ‘ターンを共有ã§ãã¾ã™ã€‚

標準的ãªå‘¼å‡ºã—シーケンスã¯ã€æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

 Pattern p = Pattern.compile("a*b");
 Matcher m = p.matcher("aaaaab");
 boolean b = m.matches();

ã“ã®ã‚¯ãƒ©ã‚¹ã«å®šç¾©ã—ãŸmatchesメソッドを使用ã™ã‚Œã°ã€æ­£è¦è¡¨ç¾ã¯ä¸€åº¦ä½¿ç”¨ã™ã‚‹ã ã‘ã§æ¸ˆã¿ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’1回呼ã³å‡ºã™ã ã‘ã§ã€è¡¨ç¾ãŒã‚³ãƒ³ãƒ‘イルã•れã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã¨ã®ãƒžãƒƒãƒãŒè¡Œã‚れã¾ã™ã€‚ æ¬¡ã®æ–‡

 boolean b = Pattern.matches("a*b", "aaaaab");
ãŸã ã—ã€ãƒžãƒƒãƒã‚’繰り返ã™å ´åˆã¯ã€ã‚³ãƒ³ãƒ‘イル済ã¿ã®ãƒ‘ターンをå†åˆ©ç”¨ã§ããªã„ãŸã‚ã€åŠ¹çŽ‡ãŒä½Žä¸‹ã—ã¾ã™ã€‚

ã“ã®ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ä¸å¤‰ã§ã‚ã‚‹ãŸã‚ã€è¤‡æ•°ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã§ä¸¦è¡Œã—ã¦ä½¿ç”¨ã§ãã¾ã™ã€‚ Matcherクラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ãã®ã‚ˆã†ãªç”¨é€”ã«å®‰å…¨ã«ä½¿ç”¨ã§ãã¾ã›ã‚“。

æ­£è¦è¡¨ç¾æ§‹æ–‡ã®ã‚µãƒžãƒªãƒ¼

æ­£è¦è¡¨ç¾ã®æ§‹æ–‡ã¨ãれらãŒãƒžãƒƒãƒã™ã‚‹ã‚‚ã®
コンストラクト 一致
文字
x 文字x
\\ ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥æ–‡å­—
\0n 8進数値0nã®æ–‡å­— (0 <= n <= 7)
\0nn 8進数値0nnã®æ–‡å­— (0 <= n <= 7)
\0mnn 8進数値0mnnã®æ–‡å­— (0 <= m <= 3, 0 <= n <= 7)
\xhh 16進値0xhhã®æ–‡å­—
\uhhhh 16進値0xhhhhã®æ–‡å­—
\x{h...h} 16進値0xh...hã®æ–‡å­— (Character.MIN_CODE_POINT <= 0xh...h <= Character.MAX_CODE_POINT)
\N{name} Unicode文字ã®åå‰ãŒ'name'ã®æ–‡å­—
\t タブ文字('\u0009')
\n 改行(ライン・フィード)文字('\u000A')
\r キャリッジ・リターン文字 ('\u000D')
\f フォーム・フィード文字('\u000C')
\a アラート(ベル)文字('\u0007')
\e エスケープ文字('\u001B')
\cx xã«å¯¾å¿œã™ã‚‹åˆ¶å¾¡æ–‡å­—
文字クラス
[abc] aã€bã€ã¾ãŸã¯c (å˜ç´”クラス)
[^abc] aã€bã€cä»¥å¤–ã®æ–‡å­—(å¦å®š)
[a-zA-Z] a - zã¾ãŸã¯A - Z (範囲)
[a-d[m-p]] a - dã¾ãŸã¯m - p: [a-dm-p] (çµåˆ)
[a-z&&[def]] dã€eã€ã¾ãŸã¯f (交差)
[a-z&&[^bc]] a - z (bã¨cを除ã): [ad-z] (減算)
[a-z&&[^m-p]] a - z (m - pを除ã): [a-lq-z] (減算)
定義済ã¿ã®æ–‡å­—クラス
. ä»»æ„ã®æ–‡å­—(行末記å·ã¨ãƒžãƒƒãƒã™ã‚‹å ´åˆã‚‚ã‚ã‚‹)
\d æ•°å­—: UNICODE_CHARACTER_CLASSãŒè¨­å®šã•れã¦ã„ãªã„å ´åˆã¯[0-9]。 「Unicodeサãƒãƒ¼ãƒˆã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
\D 数字以外: [^0-9]
\h 水平方å‘ã®ç©ºç™½æ–‡å­—: [ \t\xA0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000]
\H 水平以外ã®ç©ºç™½æ–‡å­—: [^\h]
\s 空白文字: UNICODE_CHARACTER_CLASSãŒè¨­å®šã•れã¦ã„ãªã„å ´åˆã¯[ \t\n\x0B\f\r]。 「Unicodeサãƒãƒ¼ãƒˆã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
\S ç©ºç™½ä»¥å¤–ã®æ–‡å­—: [^\s]
\v 垂直方å‘ã®ç©ºç™½æ–‡å­—: [\n\x0B\f\r\x85\u2028\u2029]
\V 垂直方å‘以外ã®ç©ºç™½æ–‡å­—: [^\v]
\w å˜èªžæ–‡å­—: UNICODE_CHARACTER_CLASSãŒè¨­å®šã•れã¦ã„ãªã„å ´åˆã¯[a-zA-Z_0-9]。 「Unicodeサãƒãƒ¼ãƒˆã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
\W å˜èªžä»¥å¤–ã®æ–‡å­—: [^\w]
POSIX文字クラス(US-ASCIIã®ã¿)
\p{Lower} å°æ–‡å­—ã®è‹±å­—: [a-z]
\p{Upper} 大文字ã®è‹±å­—: [A-Z]
\p{ASCII} ã™ã¹ã¦ã®ASCII文字: [\x00-\x7F]
\p{Alpha} 英字: [\p{Lower}\p{Upper}]
\p{Digit} 10 進数字: [0-9]
\p{Alnum} 英数字: [\p{Alpha}\p{Digit}]
\p{Punct} å¥èª­æ–‡å­—: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ã®1ã¤
\p{Graph} 表示ã§ãる文字: [\p{Alnum}\p{Punct}]
\p{Print} プリントå¯èƒ½æ–‡å­—: [\p{Graph}\x20]
\p{Blank} 空白ã¾ãŸã¯ã‚¿ãƒ–: [\t]
\p{Cntrl} 制御文字: [\x00-\x1F\x7F]
\p{XDigit} 16進数字: [0-9a-fA-F]
\p{Space} 空白文字: [\t\n\x0B\f\r]
java.lang.Characterクラス(å˜ç´”ãªjava文字タイプ)
\p{javaLowerCase} java.lang.Character.isLowerCase()ã¨ç­‰ä¾¡
\p{javaUpperCase} java.lang.Character.isUpperCase()ã¨ç­‰ä¾¡
\p{javaWhitespace} java.lang.Character.isWhitespace()ã¨ç­‰ä¾¡
\p{javaMirrored} java.lang.Character.isMirrored()ã¨ç­‰ä¾¡
Unicodeスクリプトã€ãƒ–ロックã€ã‚«ãƒ†ã‚´ãƒªã€ãƒã‚¤ãƒŠãƒªãƒ»ãƒ—ロパティã®ã‚¯ãƒ©ã‚¹
\p{IsLatin} Latin ã‚¹ã‚¯ãƒªãƒ—ト文字(スクリプト)
\p{InGreek} Greek ãƒ–ãƒ­ãƒƒã‚¯ã®æ–‡å­—(ブロック)
\p{Lu} 大文字(カテゴリ)
\p{IsAlphabetic} 英字(ãƒã‚¤ãƒŠãƒªãƒ»ãƒ—ロパティ)
\p{Sc} 通貨記å·
\P{InGreek} ã‚®ãƒªã‚·ãƒ£èªžãƒ–ãƒ­ãƒƒã‚¯ä»¥å¤–ã®æ–‡å­—(å¦å®š)
[\p{L}&&[^\p{Lu}]] å¤§æ–‡å­—ä»¥å¤–ã®æ–‡å­—(減算)
境界マッãƒãƒ£
^ 行ã®å…ˆé ­
$ è¡Œã®æœ«å°¾
\b å˜èªžå¢ƒç•Œ: å˜èªžæ–‡å­—(\w)ãŒãã“ã«ç¾ã‚Œã‚‹å ´åˆã€ã¾ãŸã¯å˜èªž(\w)ã¨å˜èªžä»¥å¤–ã®æ–‡å­—(\W)ã®é–“ã«ã‚ã‚‹å ´åˆã¯ã€è¡Œã®å…ˆé ­ã¾ãŸã¯æœ«å°¾ã«ã‚りã¾ã™ã€‚
\b{g} Unicode拡張書記素クラスタ境界
\B å˜èªžä»¥å¤–ã®å¢ƒç•Œ: [^\b]
\A 入力ã®å…ˆé ­
\G å‰å›žã®ãƒžãƒƒãƒã®æœ«å°¾
\Z 最後ã®è¡Œæœ«è¨˜å·ãŒã‚ã‚‹å ´åˆã¯ã€ãれを除ãå…¥åŠ›ã®æœ«å°¾ 
\z å…¥åŠ›ã®æœ«å°¾
改行マッãƒãƒ£
\R Unicode改行シーケンスã€\u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029] ã¨åŒç­‰ã§ã™
Unicode Extended Grapheme matcher
\X ä»»æ„ã®Unicode拡張書記素クラスタ
最長一致数é‡å­
X? Xã€1ã¾ãŸã¯0回
X* Xã€0回以上
X+ Xã€1回以上
X{n} Xã€æ­£ç¢ºã«n回
X{n,} Xã€n回以上
X{n,m} Xã€n回以上ã€m回以下
最短一致数é‡å­
X?? Xã€1ã¾ãŸã¯0回
X*? Xã€0回以上
X+? Xã€1回以上
X{n}? Xã€æ­£ç¢ºã«n回
X{n,}? Xã€n回以上
X{n,m}? Xã€n回以上ã€m回以下
å¼·æ¬²ãªæ•°é‡å­
X?+ Xã€1ã¾ãŸã¯0回
X*+ Xã€0回以上
X++ Xã€1回以上
X{n}+ Xã€æ­£ç¢ºã«n回
X{n,}+ Xã€n回以上
X{n,m}+ Xã€n回以上ã€m回以下
è«–ç†æ¼”ç®—å­
XY Xã®ç›´å¾Œã«Y
X|Y Xã¾ãŸã¯Y
(X) Xã€ã‚­ãƒ£ãƒ—ãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã—ã¦
後方å‚ç…§
\n マッãƒã—ãŸn番目ã®ã‚­ãƒ£ãƒ—ãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—
\k<name> 「nameã€ãŒãƒžãƒƒãƒã—ãŸåå‰ä»˜ãキャプãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—
引用
\ ãªã—。ã ãŒã€æ¬¡ã®æ–‡å­—を引用ã™ã‚‹
\Q ãªã—ã€\Eã¾ã§ã®ã™ã¹ã¦ã®æ–‡å­—ã‚’\Eã¾ã§å¼•用ã—ã¾ã™
\E ãªã—ã€\Qã«ã‚ˆã£ã¦é–‹å§‹ã•れãŸå¼•用を終了ã—ã¾ã™
ç‰¹æ®Šãªæ§‹æ–‡(åå‰ä»˜ãキャプãƒãƒ£ãƒªãƒ³ã‚°ã‚„éžã‚­ãƒ£ãƒ—ãƒãƒ£ãƒªãƒ³ã‚°)
(?<name>X) Xã€åå‰ä»˜ãキャプãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã—ã¦
(?:X) Xã€éžã‚­ãƒ£ãƒ—ãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã—ã¦
(?idmsuxU-idmsuxU)  ãªã—。ã ãŒã€ãƒžãƒƒãƒãƒ»ãƒ•ラグi d m s u x Uã®ã‚ªãƒ³ - オフを切り替ãˆã‚‹
(?idmsuxU-idmsuxU:X)   Xã€éžã‚­ãƒ£ãƒ—ãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã—ã¦ã€ç‰¹å®šã®ãƒ•ラグi d m s u x Uã®ã‚ªãƒ³ - オフ
(?=X) Xã€å¹…ゼロã®è‚¯å®šå…ˆèª­ã¿
(?!X) Xã€å¹…ゼロã®å¦å®šå…ˆèª­ã¿
(?<=X) Xã€å¹…ゼロã®è‚¯å®šå¾Œèª­ã¿
(?<!X) Xã€å¹…ゼロã®å¦å®šå¾Œèª­ã¿
(?>X) Xã€ç‹¬ç«‹ã—ãŸã€éžã‚­ãƒ£ãƒ—ãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—ã¨ã—ã¦

ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã€ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã€ãŠã‚ˆã³å¼•用

ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥æ–‡å­—('\')ã¯ã€å‰è¿°ã®è¡¨ã«å®šç¾©ã•れã¦ã„るエスケープã•ã‚ŒãŸæ§‹é€ ä½“ã‚’å°Žå…¥ã—ãŸã‚Šã€ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•れã¦ã„ãªã„構造体ã¨ã—ã¦è§£é‡ˆã•れる文字を引用符ã§å›²ã‚€ãŸã‚ã«ä½¿ç”¨ã—ã¾ã™ã€‚ ã—ãŸãŒã£ã¦ã€å¼\\ã¯1ã¤ã®ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã«ä¸€è‡´ã—ã€\{ã¯å·¦ä¸­ã‚«ãƒƒã‚³ã«ä¸€è‡´ã—ã¾ã™ã€‚

英字ã®å‰ã«ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’使用ã—ãŸã¨ãã«ã€ãã®è‹±å­—ãŒã‚¨ã‚¹ã‚±ãƒ¼ãƒ—æ§‹æ–‡ã§ãªã„å ´åˆã¯ã€ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã€‚ã“れらã®ãƒ‘ターンã¯ã€æ­£è¦è¡¨ç¾è¨€èªžã®ä»Šå¾Œã®æ‹¡å¼µã«äºˆç´„ã•れã¦ã„ã¾ã™ã€‚ è‹±å­—ä»¥å¤–ã®æ–‡å­—ã®å ´åˆã¯ã€ãã®æ–‡å­—ãŒéžã‚¨ã‚¹ã‚±ãƒ¼ãƒ—æ§‹æ–‡ã«å«ã¾ã‚Œã‚‹ã‹ã©ã†ã‹ã«ã‹ã‹ã‚らãšã€ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’指定ã§ãã¾ã™ã€‚

Javaã‚½ãƒ¼ã‚¹ãƒ»ã‚³ãƒ¼ãƒ‰ã®æ–‡å­—列リテラル内ã®ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã¯ã€ã€ŒJava言語仕様ã€ã§å¿…è¦ã§ã‚ã‚‹ã¨è§£é‡ˆã•れã¾ã™ã€‚Unicodeエスケープ(セクション3.3)ã¾ãŸã¯ãã®ä»–ã®æ–‡å­—エスケープ(セクション3.10.6)ã¨ã—ã¦è§£é‡ˆã•れã¾ã™ã€‚ ã—ãŸãŒã£ã¦ã€Javaãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰ãƒ»ã‚³ãƒ³ãƒ‘イラã«ã‚ˆã‚‹è§£é‡ˆã‹ã‚‰ä¿è­·ã™ã‚‹ãŸã‚ã«ã€æ­£è¦è¡¨ç¾ã‚’è¡¨ã™æ–‡å­—列リテラルã§ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’二é‡ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ ãŸã¨ãˆã°ã€æ–‡å­—列リテラル"\b"ã¯ã€æ­£è¦è¡¨ç¾ã¨ã—ã¦è§£é‡ˆã•れる場åˆã¯1ã¤ã®ãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹æ–‡å­—ã«ä¸€è‡´ã—ã€"\\b"ã¯å˜èªžã®å¢ƒç•Œã«ä¸€è‡´ã—ã¾ã™ã€‚ 文字列リテラル"\(hello\)"ã¯ä¸æ­£ã§ã‚りã€ã‚³ãƒ³ãƒ‘イル時エラーãŒç™ºç”Ÿã—ã¾ã™ã€‚文字列(hello)をマッãƒã™ã‚‹ã«ã¯ã€æ–‡å­—列リテラル"\\(hello\\)"を使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

文字クラス

文字クラスã¯ã€ä»–ã®æ–‡å­—クラス内ã«è¨˜è¿°ã§ãã€çµåˆæ¼”ç®—å­(æš—é»™)ãŠã‚ˆã³äº¤å·®æ¼”ç®—å­(&&)ã§æ§‹æˆã§ãã¾ã™ã€‚ çµåˆæ¼”ç®—å­ã¯ã€1ã¤ä»¥ä¸Šã®ã‚ªãƒšãƒ©ãƒ³ãƒ‰ãƒ»ã‚¯ãƒ©ã‚¹ã«å«ã¾ã‚Œã‚‹ã™ã¹ã¦ã®æ–‡å­—ã‚’å«ã‚€ã‚¯ãƒ©ã‚¹ã‚’表ã—ã¾ã™ã€‚ 交差演算å­ã¯ã€2ã¤ã®ã‚ªãƒšãƒ©ãƒ³ãƒ‰ãƒ»ã‚¯ãƒ©ã‚¹ã«å«ã¾ã‚Œã‚‹ã™ã¹ã¦ã®æ–‡å­—ã‚’å«ã‚€ã‚¯ãƒ©ã‚¹ã‚’表ã—ã¾ã™ã€‚

文字クラス演算å­ã¯ã€æ¬¡ã®é †ã§å„ªå…ˆé †ä½ãŒé«˜ããªã‚Šã¾ã™ã€‚

文字クラス演算å­ã®å„ªå…ˆé †ä½ã€‚
優先順ä½å例
1 リテラル・エスケープ     \x
2 グルーピング [...]
3 範囲 a-z
4 çµåˆ [a-e][i-u]
5 交差 [a-z&&[aeiou]]

実際ã«ã¯ã€ç•°ãªã‚‹ãƒ¡ã‚¿ã‚­ãƒ£ãƒ©ã‚¯ã‚¿ã®ã‚»ãƒƒãƒˆã¯ã€æ–‡å­—クラスã®å¤–部ã§ã¯ãªã内部ã«å­˜åœ¨ã™ã‚‹ã“ã¨ã«ç•™æ„ã—ã¦ãã ã•ã„。 ãŸã¨ãˆã°ã€æ­£è¦è¡¨ç¾.ã¯æ–‡å­—クラス内ã§ç‰¹æ®Šãªæ„味を失ã„ã€å¼-ã¯ãƒ¡ã‚¿æ–‡å­—ã‚’å½¢æˆã™ã‚‹ç¯„囲ã«ãªã‚Šã¾ã™ã€‚

行末記å·

行末記å·ã¨ã¯ã€å…¥åŠ›æ–‡å­—ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®è¡Œã®æœ«å°¾ã‚’指定ã™ã‚‹ã¨ãã«ä½¿ç”¨ã™ã‚‹ã€1文字ã¾ãŸã¯2æ–‡å­—ã®æ–‡å­—シーケンスã§ã™ã€‚ æ¬¡ã®æ–‡å­—ãŒè¡Œæœ«è¨˜å·ã¨ã—ã¦èªè­˜ã•れã¾ã™ã€‚

  • 改行(ライン・フィード)文字('\n')ã€
  • 改行文字ãŒã™ãã«ç¶šãキャリッジ・リターン文字 ("\r\n")ã€
  • スタンドアロンã®ã‚­ãƒ£ãƒªãƒƒã‚¸ãƒ»ãƒªã‚¿ãƒ¼ãƒ³æ–‡å­— ('\r')ã€
  • 次行文字('\u0085')ã€
  • 行区切り文字('\u2028')ã€ã¾ãŸã¯
  • 段è½åŒºåˆ‡ã‚Šæ–‡å­—('\u2029')。

UNIX_LINESãƒ¢ãƒ¼ãƒ‰ãŒæœ‰åйãªå ´åˆã¯ã€æ”¹è¡Œæ–‡å­—ã ã‘ãŒè¡Œæœ«è¨˜å·ã¨ã—ã¦èªè­˜ã•れã¾ã™ã€‚

æ­£è¦è¡¨ç¾.ã¯ã€DOTALLãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ãªã„ã‹ãŽã‚Šã€è¡Œã®çµ‚了文字以外ã®ä»»æ„ã®æ–‡å­—ã¨ä¸€è‡´ã—ã¾ã™ã€‚

MULTILINEモードãŒã‚¢ã‚¯ãƒ†ã‚£ãƒ–化ã•れã¦ã„ãªã„å ´åˆã€æ­£è¦è¡¨ç¾^ã¯è¡Œçµ‚了文字を無視ã—ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹å…¨ä½“ã®å…ˆé ­ã§ã®ã¿ä¸€è‡´ã—ã¾ã™ã€‚ æ­£è¦è¡¨ç¾$ã¯ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹å…¨ä½“ã®æœ€å¾Œã«ä¸€è‡´ã—ã¾ã™ãŒã€ãれã«ç¶šãä»–ã®å…¥åŠ›æ–‡å­—ãŒãªã„å ´åˆã¯ã€æœ€å¾Œã®è¡Œã®çµ‚了文字ã®ç›´å‰ã«ã‚‚一致ã—ã¾ã™ã€‚ ãã®ä»–ã®è¡Œã®çµ‚端文字ã¯ç„¡è¦–ã•れã¾ã™ã€‚ãã®å¾Œã«ä»–ã®å…¥åŠ›æ–‡å­—ãŒç¶šãå ´åˆã€æœ€å¾Œã®çµ‚端文字もå«ã¾ã‚Œã¾ã™ã€‚

MULTILINEモードãŒã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ãªã£ã¦ã„ã‚‹å ´åˆã€^ã¯ã€å…¥åŠ›ã®æœ€åˆã¨ã€å…¥åŠ›ã®æœ€å¾Œä»¥å¤–ã®ã™ã¹ã¦ã®è¡Œçµ‚了文字ã®å¾Œã§ä¸€è‡´ã—ã¾ã™ã€‚ MULTILINEモードã®å ´åˆã€$ã¯ã€è¡Œçµ‚了文字ã®ç›´å‰ã¾ãŸã¯å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®çµ‚端ã«ä¸€è‡´ã—ã¾ã™ã€‚

グループã¨ã‚­ãƒ£ãƒ—ãƒãƒ£ãƒªãƒ³ã‚°

グループ番å·

キャプãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¯ã€å·¦ã‹ã‚‰å³æ–¹å‘ã«å·¦ä¸¸æ‹¬å¼§ã‚’æ•°ãˆã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ç•ªå·ãŒä»˜ã‘られã¾ã™ã€‚ ãŸã¨ãˆã°ã€å¼((A)(B(C)))ã«ã¯ã€æ¬¡ã®4ã¤ã®ã‚°ãƒ«ãƒ¼ãƒ—ãŒã‚りã¾ã™:

  1. ((A)(B(C)))
  2. (A)
  3. (B(C))
  4. (C)

グループ0ã¯ã€å¸¸ã«è¡¨ç¾å…¨ä½“を表ã—ã¾ã™ã€‚

キャプãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—ãŒã“ã®ã‚ˆã†ã«åˆ†é¡žã•れã¦ã‹ã‚‰ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®å„部分シーケンスãŒã“れらã®ã‚°ãƒ«ãƒ¼ãƒ—ã¨ãƒžãƒƒãƒã•れã€ãƒžãƒƒãƒã™ã‚‹ãŸã³ã«éƒ¨åˆ†ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ãŒä¿å­˜ã•れã¾ã™ã€‚ キャプãƒãƒ£ã•れãŸéƒ¨åˆ†ã‚·ãƒ¼ã‚¯ã‚¨ãƒ³ã‚¹ã¯ã€å¾Œæ–¹å‚ç…§ã§ã€è¡¨ç¾å†…ã§ã‚ã¨ã§ä½¿ç”¨ã§ãã¾ã™ã€‚ã¾ãŸã€ãƒžãƒƒãƒæ“作ãŒå®Œäº†ã—ãŸã‚‰ã€ãƒžãƒƒãƒãƒ£ã‹ã‚‰å–り出ã™ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

グループå

キャプãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¯ã€"name"ã€named-capturing groupã€ã‚’割り当ã¦ã‚‹ã“ã¨ãŒã§ãã€å¾Œã§"name"ã«ã‚ˆã£ã¦é€†å‚ç…§ã•れã¾ã™ã€‚ グループåã¯ã€æ¬¡ã®æ–‡å­—ã§æ§‹æˆã•れã¾ã™ã€‚ 最åˆã®æ–‡å­—ã¯letterã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

  • 大文字'A'ã‹ã‚‰'Z' ('\u0041'ã‹ã‚‰'\u005a')ã€
  • å°æ–‡å­—'a'ã‹ã‚‰'z' ('\u0061'ã‹ã‚‰'\u007a')ã€
  • æ•°å­—'0'ã‹ã‚‰'9' ('\u0030'ã‹ã‚‰'\u0039')

named-capturing groupã«ã¯ã€å¼•ãç¶šã「グループ番å·ã€ã§èª¬æ˜Žã•れã¦ã„るよã†ã«ç•ªå·ãŒä»˜ã‘られã¾ã™ã€‚

グループã«é–¢é€£ä»˜ã‘られãŸã‚­ãƒ£ãƒ—ãƒãƒ£ã•れãŸå…¥åŠ›ã¯å¸¸ã«ã€ã‚°ãƒ«ãƒ¼ãƒ—ãŒæœ€å¾Œã«ä¸€è‡´ã—ãŸéƒ¨åˆ†åˆ—ã§ã™ã€‚ æ•°é‡å­ã«ã‚ˆã‚Šã‚°ãƒ«ãƒ¼ãƒ—ãŒ2回目ã«è©•価ã•れる場åˆã€å‰ã«ã‚­ãƒ£ãƒ—ãƒãƒ£ã•れãŸå€¤ãŒã‚ã‚‹å ´åˆã¯ã€2回目ã®è©•価ãŒå¤±æ•—ã—ãŸå ´åˆã€ãã®å€¤ãŒä¿æŒã•れã¾ã™ã€‚ 文字列"aba"ã‚’å¼(a(b)?)+ã¨ãƒžãƒƒãƒã—ã¾ã™ã€‚ãŸã¨ãˆã°ã€2ã¤ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’"b"ã«è¨­å®šã—ãŸã¾ã¾ã«ã—ã¾ã™ã€‚ キャプãƒãƒ£ã•れãŸã™ã¹ã¦ã®å…¥åŠ›ã¯ã€å„マッãƒã®é–‹å§‹æ™‚ã«ç ´æ£„ã•れã¾ã™ã€‚

(?ã§å§‹ã¾ã‚‹ã‚°ãƒ«ãƒ¼ãƒ—ã¯ã€ç´”粋ãªã€Œéžã‚­ãƒ£ãƒ—ãƒãƒ£ãƒªãƒ³ã‚°ã€ã‚°ãƒ«ãƒ¼ãƒ—ã§ã€ãƒ†ã‚­ã‚¹ãƒˆã¯ã‚­ãƒ£ãƒ—ãƒãƒ£ã•れãšã€ã‚°ãƒ«ãƒ¼ãƒ—åˆè¨ˆã«ã¯ã‚«ã‚¦ãƒ³ãƒˆã•れã¾ã›ã‚“。ã¾ãŸã¯ã€ã€Œåå‰ä»˜ãキャプãƒãƒ£ãƒªãƒ³ã‚°ã€ã‚°ãƒ«ãƒ¼ãƒ—ã§ã™ã€‚

Unicodeサãƒãƒ¼ãƒˆ

ã“ã®ã‚¯ãƒ©ã‚¹ã¯ã€ã€ŒUnicodeテクニカル標準 #18: Unicodeæ­£è¦è¡¨ç¾ã€ã®ãƒ¬ãƒ™ãƒ«1ã¨ã€RL 2.1標準等価ãŠã‚ˆã³RL 2.2æ‹¡å¼µæ›¸è¨˜ç´ ã‚¯ãƒ©ã‚¹ã‚¿ã«æº–æ‹ ã—ã¦ã„ã¾ã™ã€‚

Javaソース・コードã®\u2014ãªã©ã®ã€ŒUnicodeエスケープ・シーケンスã€ã¯ã€ã€ŒJava言語仕様ã€ã®3.3é …ã§èª¬æ˜Žã•れã¦ã„るよã†ã«å‡¦ç†ã•れã¾ã™ã€‚ ã“れらã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—・シーケンスã¯ã€æ­£è¦è¡¨ç¾ãƒ‘ーサーã«ã‚ˆã£ã¦ç›´æŽ¥å®Ÿè£…ã•れるãŸã‚ã€ãƒ•ァイルã¾ãŸã¯ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã‹ã‚‰èª­ã¿è¾¼ã‚“ã è¡¨ç¾ã®ä¸­ã§ã‚‚Unicodeエスケープを使用ã§ãã¾ã™ã€‚ ã—ãŸãŒã£ã¦ã€æ–‡å­—列"\u2014"ãŠã‚ˆã³"\\u2014"ã¯ç­‰ã—ããªã„ãŒã€åŒã˜ãƒ‘ターンã«ã‚³ãƒ³ãƒ‘イルã•れã€16進数値0x2014ã®æ–‡å­—ã¨ä¸€è‡´ã—ã¾ã™ã€‚

Unicode文字ã¯ã€ä¾‹ãˆã°è£œåŠ©æ–‡å­—U+2011Fã¯ãªãサロゲート・ペア\uD840 \uDD1Fã®äºŒã¤ã®é€£ç¶šã®Unicodeエスケープ・シーケンスã€\x{2011F}ã¨ã—ã¦æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã€æ§‹ç¯‰ç‰©\x{...}ã«è¨˜è¼‰ã®ç›´æŽ¥ã‚ˆã†ã«ã€ãã®ã€Œ16進表記法〠(16進コード・ãƒã‚¤ãƒ³ãƒˆå€¤)を用ã„ã¦è¡¨ç¾ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

「Unicode文字ã®åå‰ã€ã¯ã€åå‰ä»˜ã文字構æˆ\N{...}ã§ã‚µãƒãƒ¼ãƒˆã•れã¾ã™ã€‚ãŸã¨ãˆã°ã€\N{WHITE SMILING FACE}ã¯æ–‡å­—\u263Aを指定ã—ã¾ã™ã€‚ ã“ã®ã‚¯ãƒ©ã‚¹ã§ã‚µãƒãƒ¼ãƒˆã•れã¦ã„る文字åã¯ã€Character.codePointOf(name)ã¨ä¸€è‡´ã™ã‚‹æœ‰åйãªUnicode文字åã§ã™ã€‚

「Unicode拡張書記素クラスタã€ã¯ã€æ›¸è¨˜ç´ ã‚¯ãƒ©ã‚¹ã‚¿ãƒžãƒƒãƒãƒ£\Xã¨å¯¾å¿œã™ã‚‹å¢ƒç•Œãƒžãƒƒãƒãƒ£\b{g}ã«ã‚ˆã£ã¦ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã™ã€‚

Unicodeスクリプトã€ãƒ–ロックã€ã‚«ãƒ†ã‚´ãƒªãŠã‚ˆã³ãƒã‚¤ãƒŠãƒªãƒ»ãƒ—ロパティã¯ã€Perlã¨åŒæ§˜ã«ã€\pãŠã‚ˆã³\P構造ã§è¨˜è¿°ã•れã¾ã™ã€‚\p{prop}ã¯ã€å…¥åŠ›ã«propプロパティãŒã‚ã‚‹å ´åˆã¨ä¸€è‡´ã—ã€\P{prop}ã¯ãã®ãƒ—ロパティをæŒã¤å ´åˆã€ä¸€è‡´ã—ã¾ã›ã‚“。

スクリプトã€ãƒ–ロックã€ã‚«ãƒ†ã‚´ãƒªã€ãŠã‚ˆã³ãƒã‚¤ãƒŠãƒªãƒ»ãƒ—ロパティã¯ã€æ–‡å­—クラスã®å†…部ãŠã‚ˆã³å¤–部ã®ã©ã¡ã‚‰ã«ã‚‚使用ã§ãã¾ã™ã€‚

スクリプトã¯ã€IsHiraganaã®ã‚ˆã†ã«ã€æŽ¥é ­è¾žIsを付ã‘ã¦æŒ‡å®šã™ã‚‹ã‹ã€ã¾ãŸã¯ã€script=Hiraganaã‚„sc=Hiraganaã®ã‚ˆã†ã«ã€scriptキーワード(ã¾ãŸã¯ãã®çŸ­ç¸®å½¢å¼sc) を使用ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚

Patternã®ã‚µãƒãƒ¼ãƒˆã™ã‚‹æ›¸ä½“åã¯ã€UnicodeScript.forNameã«ã‚ˆã£ã¦å—ã‘入れられã€å®šç¾©ã•ã‚Œã‚‹æœ‰åŠ¹ãªæ›¸ä½“åã§ã™ã€‚

ブロックã¯ã€InMongolianã®ã‚ˆã†ã«ã€æŽ¥é ­è¾žInを付ã‘ã¦æŒ‡å®šã™ã‚‹ã‹ã€ã¾ãŸã¯ã€block=Mongolianã‚„blk=Mongolianã®ã‚ˆã†ã«ã€blockキーワード(ã¾ãŸã¯ãã®çŸ­ç¸®å½¢å¼blk)を使用ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚

Patternã®ã‚µãƒãƒ¼ãƒˆã™ã‚‹ãƒ–ロックåã¯ã€UnicodeBlock.forNameã«ã‚ˆã£ã¦å—ã‘入れられã€å®šç¾©ã•れる有効ãªãƒ–ロックåã§ã™ã€‚

カテゴリã¯ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã®æŽ¥é ­è¾žIsã«ã‚ˆã£ã¦æŒ‡å®šã§ãã¾ã™ã€‚\p{L}ã¨\p{IsL}ã®ã©ã¡ã‚‰ã‚‚Unicode文字ã®ã‚«ãƒ†ã‚´ãƒªã‚’示ã—ã¾ã™ã€‚ スクリプトやブロックã¨åŒã˜ã‚ˆã†ã«ã€ã‚«ãƒ†ã‚´ãƒªã‚‚general_category=Luã‚„gc=Luã®ã‚ˆã†ã«ã€ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰general_category (ã¾ãŸã¯ãã®çŸ­ç¸®å½¢å¼gc)を使用ã—ã¦æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

サãƒãƒ¼ãƒˆã•れã¦ã„るカテゴリã¯ã€Characterã‚¯ãƒ©ã‚¹ã§æŒ‡å®šã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®The Unicode Standardã«è¨˜è¼‰ã•れã¦ã„ã¾ã™ã€‚ カテゴリåã«ã¤ã„ã¦ã¯ã€æ¨™æº–ã«è¦æº–ã¨æƒ…å ±ãŒå®šç¾©ã•れã¦ã„ã¾ã™ã€‚

ãƒã‚¤ãƒŠãƒªãƒ»ãƒ—ロパティã¯ã€IsAlphabeticã®ã‚ˆã†ã«ã€æŽ¥é ­è¾žIsを使用ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚ Patternã«ã‚ˆã£ã¦ã‚µãƒãƒ¼ãƒˆã•れるãƒã‚¤ãƒŠãƒªãƒ»ãƒ—ãƒ­ãƒ‘ãƒ†ã‚£ã¯æ¬¡ã®ã¨ãŠã‚Šã§ã™

  • Alphabetic
  • Ideographic
  • Letter
  • Lowercase
  • Uppercase
  • Titlecase
  • Punctuation
  • コントロール
  • White_Space
  • Digit
  • Hex_Digit
  • Join_Control
  • Noncharacter_Code_Point
  • Assigned
  • Emoji
  • Emoji_Presentation
  • Emoji_Modifier
  • Emoji_Modifier_Base
  • Emoji_Component
  • Extended_Pictographic

次ã®ã€Œäº‹å‰å®šç¾©æ¸ˆã®æ–‡å­—クラスã€ãŠã‚ˆã³ã€ŒPOSIX文字クラスã€ã¯ã€UNICODE_CHARACTER_CLASSãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã‚‹å ´åˆã€ã€ŒUnicodeテクニカル標準 #18: Unicodeæ­£è¦è¡¨ç¾ã€ã®ã€ŒAnnex C: äº’æ›æ€§ãƒ—ロパティã€ã®æŽ¨å¥¨äº‹é …ã«æº–æ‹ ã—ã¦ã„ã¾ã™ã€‚

Unicodeモードã®å®šç¾©æ¸ˆã®POSIX文字クラス
クラス 一致
\p{Lower} å°æ–‡å­—:\p{IsLowercase}
\p{Upper} 大文字:\p{IsUppercase}
\p{ASCII} ã™ã¹ã¦ã®ASCII文字: [\x00-\x7F]
\p{Alpha} 英字:\p{IsAlphabetic}
\p{Digit} 10é€²æ•°ã®æ–‡å­—:\p{IsDigit}
\p{Alnum} 英数字:[\p{IsAlphabetic}\p{IsDigit}]
\p{Punct} å¥èª­è¨˜å·:\p{IsPunctuation}
\p{Graph} 表示å¯èƒ½ãªæ–‡å­—: [^\p{IsWhite_Space}\p{gc=Cc}\p{gc=Cs}\p{gc=Cn}]
\p{Print} プリントå¯èƒ½æ–‡å­—: [\p{Graph}\p{Blank}&&[^\p{Cntrl}]]
\p{Blank} 空白ã¾ãŸã¯ã‚¿ãƒ–: [\p{IsWhite_Space}&&[^\p{gc=Zl}\p{gc=Zp}\x0a\x0b\x0c\x0d\x85]]
\p{Cntrl} 制御文字: \p{gc=Cc}
\p{XDigit} 16進数: [\p{gc=Nd}\p{IsHex_Digit}]
\p{Space} 空白文字:\p{IsWhite_Space}
\d æ•°å­—: \p{IsDigit}
\D 数字以外: [^\d]
\s 空白文字: \p{IsWhite_Space}
\S ç©ºç™½ä»¥å¤–ã®æ–‡å­—: [^\s]
\w å˜èªžæ–‡å­—: [\p{Alpha}\p{gc=Mn}\p{gc=Me}\p{gc=Mc}\p{Digit}\p{gc=Pc}\p{IsJoin_Control}]
\W å˜èªžä»¥å¤–ã®æ–‡å­—: [^\w]

java.lang.Characterブールismethodnameメソッド(éžæŽ¨å¥¨ã®ã‚‚ã®ã‚’除ã)ã¨åŒæ§˜ã«å‹•作ã™ã‚‹ã‚«ãƒ†ã‚´ãƒªã¯ã€æŒ‡å®šã•れãŸãƒ—ロパティã®åå‰ãŒjavamethodnameã§ã‚ã‚‹åŒã˜\p{prop}構文を介ã—ã¦ä½¿ç”¨ã§ãã¾ã™ã€‚

Perl 5ã¨ã®æ¯”較

Patternエンジンã¯ã€Perl 5ã¨åŒã˜ãã€é †åºä»˜ã‘ã•れãŸä»£æ›¿ã«å¯¾ã™ã‚‹å¾“æ¥ã®NFAベースã®ãƒžãƒƒãƒãƒ³ã‚°ã‚’実行ã—ã¾ã™ã€‚

ã“ã®ã‚¯ãƒ©ã‚¹ã§ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ãªã„Perlæ§‹æ–‡

ã“ã®ã‚¯ãƒ©ã‚¹ã§ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã‚‹ãŒã€Perlã§ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ãªã„構文。

  • 文字クラスã®çµåˆã¨äº¤å·®(å‰è¿°)。

Perlã¨ã®å¤§ããªç›¸é•点

  • Perlã§ã¯ã€\1ã‹ã‚‰\9ã¾ã§ã¯å¸¸ã«å¾Œæ–¹å‚ç…§ã¨ã—ã¦è§£é‡ˆã•れã¾ã™ã€‚9より大ãã„ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãƒ»ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã•ã‚ŒãŸæ•°å€¤ã¯ã€å°‘ãªãã¨ã‚‚多ãã®ã‚µãƒ–表ç¾ãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯å¾Œæ–¹å‚ç…§ã¨ã—ã¦æ‰±ã‚れã€å­˜åœ¨ã—ãªã„å ´åˆã¯ã€å¯èƒ½ãªå ´åˆã¯8進エスケープã¨ã—ã¦è§£é‡ˆã•れã¾ã™ã€‚ ã“ã®ã‚¯ãƒ©ã‚¹ã§ã¯ã€8 進数ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã¯å¸¸ã«ã‚¼ãƒ­ã§å§‹ã¾ã‚Šã¾ã™ã€‚ ã“ã®ã‚¯ãƒ©ã‚¹ã§ã¯ã€\1ã‹ã‚‰\9ã¾ã§ã¯å¸¸ã«å¾Œæ–¹å‚ç…§ã¨ã—ã¦è§£é‡ˆã•ã‚Œã€æ­£è¦è¡¨ç¾ã®ãã®æ™‚点ã§å¤šãã®éƒ¨åˆ†æ­£è¦è¡¨ç¾ãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯ã€ãれより大ãã„æ•°å€¤ãŒå¾Œæ–¹å‚ç…§ã¨ã—ã¦å—ã‘入れられã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ã€æ•°å€¤ãŒæ—¢å­˜ã®ã‚°ãƒ«ãƒ¼ãƒ—数以下ã¾ãŸã¯1æ¡ã«ãªã‚‹ã¾ã§ã€ãƒ‘ãƒ¼ã‚µãƒ¼ã¯æ•°å€¤ã‚’ドロップã—ã¾ã™ã€‚

  • Perlã§ã¯ã€æœ€å¾Œã®ãƒžãƒƒãƒãŒçµ‚了ã—ãŸå ´æ‰€ã‹ã‚‰ãƒžãƒƒãƒã®å†é–‹ã‚’è¦æ±‚ã™ã‚‹ã¨ãã¯ã€gフラグを使用ã—ã¾ã™ã€‚ ã“ã®æ©Ÿèƒ½ã¯ã€Matcherクラスã«ã‚ˆã£ã¦æš—é»™çš„ã«æä¾›ã•れã¾ã™ã€‚findメソッドを繰返ã—呼ã³å‡ºã™ã¨ã€ãƒžãƒƒãƒãƒ£ãŒãƒªã‚»ãƒƒãƒˆã•れãªã„ã‹ãŽã‚Šã€æœ€å¾Œã®ãƒžãƒƒãƒãŒçµ‚了ã—ãŸå ´æ‰€ã‹ã‚‰ãƒžãƒƒãƒæ“作ãŒå†é–‹ã—ã¾ã™ã€‚

  • Perl ã§ã¯ã€è¡¨ç¾ã®æœ€ä¸Šä½ã«åŸ‹ã‚è¾¼ã¾ã‚ŒãŸãƒ•ラグãŒè¡¨ç¾å…¨ä½“ã«é©ç”¨ã•れã¾ã™ã€‚ ã“ã®ã‚¯ãƒ©ã‚¹ã®åŸ‹è¾¼ã¿ãƒ•ラグã¯ã€åŸ‹ã‚è¾¼ã¾ã‚ŒãŸå ´æ‰€ã«ã‹ã‹ã‚らãšã€ãã®ç®‡æ‰€ã§ã®ã¿æœ‰åйã«ãªã‚Šã¾ã™ã€‚フラグãŒã‚°ãƒ«ãƒ¼ãƒ—内ã«åŸ‹ã‚è¾¼ã¾ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€Perlã¨åŒæ§˜ã«ã‚°ãƒ«ãƒ¼ãƒ—ã®æœ€å¾Œã§å¾©å…ƒã•れã¾ã™ã€‚

  • Perlã®ãƒ•リースペーシング・モード (ã“ã®ã‚¯ãƒ©ã‚¹ã§ã¯ã‚³ãƒ¡ãƒ³ãƒˆãƒ»ãƒ¢ãƒ¼ãƒ‰ã¨å‘¼ã°ã‚Œã‚‹)ã¯ã€æ­£è¦è¡¨ç¾ã®(?x)ã§ (ã¾ãŸã¯ã€å¼ã®ã‚³ãƒ³ãƒ‘イル時ã«COMMENTSフラグã«ã‚ˆã£ã¦)指定ã•れã¾ã™ãŒã€æ–‡å­—クラス内ã®ç©ºç™½ã‚’無視ã—ã¾ã›ã‚“。 ã“ã®ã‚¯ãƒ©ã‚¹ã§ã¯ã€ã‚³ãƒ¡ãƒ³ãƒˆãƒ»ãƒ¢ãƒ¼ãƒ‰ã®å ´åˆã«æ­£è¦è¡¨ç¾ã®ä¸€éƒ¨ã¨ã—ã¦è€ƒæ…®ã•れるよã†ã«ã€æ–‡å­—クラス内ã®ç©ºç™½ã‚’エスケープã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

æ­£è¦è¡¨ç¾æ§‹é€ ã®å‹•作ã®è©³ç´°ã¯ã€ã€Œæ­£è¦è¡¨ç¾ã®ç¿’å¾—, 3rd Editionã€Jeffrey E. F. Friedlã€O 'Reilly and Associatesã€2006å¹´ã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
1.4
外部仕様
関連項目:
  • フィールドã®ã‚µãƒžãƒªãƒ¼

    フィールド
    修飾å­ã¨åž‹
    フィールド
    説明
    static final int
    æ­£è¦ç­‰ä¾¡ã‚’有効ã«ã—ã¾ã™ã€‚
    static final int
    大文字ã¨å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ã‚’有効ã«ã—ã¾ã™ã€‚
    static final int
    パターン内ã§ç©ºç™½ã¨ã‚³ãƒ¡ãƒ³ãƒˆã‚’使用ã§ãるよã†ã«ã—ã¾ã™ã€‚
    static final int
    DOTALLモードを有効ã«ã—ã¾ã™ã€‚
    static final int
    パターンã®ãƒªãƒ†ãƒ©ãƒ«æ§‹æ–‡è§£æžã‚’有効ã«ã—ã¾ã™ã€‚
    static final int
    複数行モードを有効ã«ã—ã¾ã™ã€‚
    static final int
    Unicodeã«æº–æ‹ ã—ãŸå¤§æ–‡å­—ã¨å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ã‚’有効ã«ã—ã¾ã™ã€‚
    static final int
    定義済ã¿ã®æ–‡å­—クラスã¨POSIX文字クラスã®Unicodeãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’使用å¯èƒ½ã«ã—ã¾ã™ã€‚
    static final int
    Unixライン・モードを有効ã«ã—ã¾ã™ã€‚
  • メソッドã®ã‚µãƒžãƒªãƒ¼

    修飾å­ã¨åž‹
    メソッド
    説明
    ã“ã®ãƒ‘ã‚¿ãƒ¼ãƒ³ãŒæŒ‡å®šã•れãŸå…¥åŠ›æ–‡å­—åˆ—ã¨ä¸€è‡´ã™ã‚‹ã‹ã©ã†ã‹ã‚’テストã™ã‚‹è¿°èªžã‚’作æˆã—ã¾ã™ã€‚
    指定ã•れãŸå…¥åŠ›æ–‡å­—åˆ—ã§ã“ã®ãƒ‘ã‚¿ãƒ¼ãƒ³ãŒæ¤œå‡ºã•れãŸã‹ã©ã†ã‹ã‚’テストã™ã‚‹è¿°èªžã‚’作æˆã—ã¾ã™ã€‚
    static Pattern
    compile(String regex)
    指定ã•ã‚ŒãŸæ­£è¦è¡¨ç¾ã‚’パターンã«ã‚³ãƒ³ãƒ‘イルã—ã¾ã™ã€‚
    static Pattern
    compile(String regex, int flags)
    指定ã•れãŸãƒ•ラグを使用ã—ã¦ã€æŒ‡å®šã•ã‚ŒãŸæ­£è¦è¡¨ç¾ã‚’パターンã«ã‚³ãƒ³ãƒ‘イルã—ã¾ã™ã€‚
    int
    ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒãƒ»ãƒ•ラグを返ã—ã¾ã™ã€‚
    指定ã•れãŸå…¥åŠ›ã¨ã“ã®ãƒ‘ターンをマッãƒã™ã‚‹ãƒžãƒƒãƒãƒ£ã‚’作æˆã—ã¾ã™ã€‚
    static boolean
    matches(String regex, CharSequence input)
    指定ã•ã‚ŒãŸæ­£è¦è¡¨ç¾ã‚’コンパイルã—ã¦ã€æŒ‡å®šã•れãŸå…¥åŠ›ã¨ãã®æ­£è¦è¡¨ç¾ã‚’マッãƒã—ã¾ã™ã€‚
    キャプãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—åã‹ã‚‰ã‚°ãƒ«ãƒ¼ãƒ—番å·ã¸ã®å¤‰æ›´ä¸å¯èƒ½ãªãƒžãƒƒãƒ—ã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘ターンã®ã‚³ãƒ³ãƒ‘ã‚¤ãƒ«å…ƒã®æ­£è¦è¡¨ç¾ã‚’è¿”ã—ã¾ã™ã€‚
    static String
    指定ã•れãŸStringã®ãƒªãƒ†ãƒ©ãƒ«ãƒ»ãƒ‘ターンStringã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒã«åŸºã¥ã„ã¦ã€æŒ‡å®šã•れãŸå…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’åˆ†å‰²ã—ã¾ã™ã€‚
    split(CharSequence input, int limit)
    ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒã«åŸºã¥ã„ã¦ã€æŒ‡å®šã•れãŸå…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’åˆ†å‰²ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒã«åŸºã¥ã„ã¦ã€æŒ‡å®šã•れãŸå…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‹ã‚‰ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’作æˆã—ã¾ã™ã€‚
    splitWithDelimiters(CharSequence input, int limit)
    ã“ã®ãƒ‘ターンã®ä¸€è‡´ã‚’囲む入力シーケンスを分割ã—ã€æ–‡å­—列ã¨ä¸€è‡´ã™ã‚‹ãƒ‡ãƒªãƒŸã‚¿ã®ä¸¡æ–¹ã‚’è¿”ã—ã¾ã™ã€‚
    ã“ã®ãƒ‘ã‚¿ãƒ¼ãƒ³ã®æ–‡å­—列表ç¾ã‚’è¿”ã—ã¾ã™ã€‚

    クラスjava.lang.Objectã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • フィールド詳細

    • UNIX_LINES

      public static final int UNIX_LINES
      Unixライン・モードを有効ã«ã—ã¾ã™ã€‚

      ã“ã®ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã€.ã€^ãŠã‚ˆã³$ã®å‹•作ã§'\n'行ã®çµ‚了文字ã®ã¿ãŒèªè­˜ã•れã¾ã™ã€‚

      Unixライン・モードã¯ã€åŸ‹ã‚è¾¼ã¿ãƒ•ラグå¼(?d)を使用ã—ã¦æœ‰åйã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

      関連項目:
    • CASE_INSENSITIVE

      public static final int CASE_INSENSITIVE
      大文字ã¨å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ã‚’有効ã«ã—ã¾ã™ã€‚

      デフォルトã®å¤§æ–‡å­—ã¨å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ã§ã¯ã€US-ASCIIæ–‡å­—ã‚»ãƒƒãƒˆã®æ–‡å­—ã ã‘ãŒãƒžãƒƒãƒã—ã¾ã™ã€‚ Unicodeã«æº–æ‹ ã—ãŸå¤§æ–‡å­—ã¨å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ã‚’有効ã«ã™ã‚‹ã«ã¯ã€UNICODE_CASEフラグをã“ã®ãƒ•ラグã¨çµ„ã¿åˆã‚ã›ã¦æŒ‡å®šã—ã¾ã™ã€‚

      大/å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ã¯ã€åŸ‹è¾¼ã¿ãƒ•ラグå¼(?i)を使用ã—ã¦æœ‰åйã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

      ã“ã®ãƒ•ラグを指定ã™ã‚‹ã¨ã€ãƒ‘フォーマンスãŒã‚ãšã‹ã«ä½Žä¸‹ã™ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚

      関連項目:
    • COMMENTS

      public static final int COMMENTS
      パターン内ã§ç©ºç™½ã¨ã‚³ãƒ¡ãƒ³ãƒˆã‚’使用ã§ãるよã†ã«ã—ã¾ã™ã€‚

      ã“ã®ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã€ç©ºç™½ã¯ç„¡è¦–ã•れã€#ã§å§‹ã¾ã‚‹åŸ‹ã‚è¾¼ã¾ã‚ŒãŸã‚³ãƒ¡ãƒ³ãƒˆã¯ã€è¡Œã®çµ‚ã‚りã¾ã§ç„¡è¦–ã•れã¾ã™ã€‚ コメント・モードã§ã¯ã€ãƒ‘ターン文字列ã«å«ã¾ã‚Œã‚‹æ–‡å­—クラス内ã®ç©ºç™½ã¯ç„¡è¦–ã•れã¾ã™ã€‚ ã“ã®ã‚ˆã†ãªç©ºç™½ã¯ã€é‡è¦ã¨è¦‹ãªã•れるãŸã‚ã«ã¯ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

      コメント・モードã¯ã€åŸ‹è¾¼ã¿ãƒ•ラグå¼(?x)を使用ã—ã¦æœ‰åйã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

      関連項目:
    • MULTILINE

      public static final int MULTILINE
      複数行モードを有効ã«ã—ã¾ã™ã€‚

      複数行モードã§ã¯ã€å¼^ãŠã‚ˆã³$ã¯ã€ãれãžã‚Œè¡Œã®çµ‚了文字ã¾ãŸã¯å…¥åЛ順åºã®çµ‚了文字ã®ç›´å¾Œã¾ãŸã¯ç›´å‰ã§ä¸€è‡´ã—ã¾ã™ã€‚ デフォルトã§ã¯ã€ã“れらã®è¡¨ç¾ã¯å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹å…¨ä½“ã®å…ˆé ­ã¨æœ«å°¾ã«ã ã‘マッãƒã—ã¾ã™ã€‚

      複数行モードã¯ã€åŸ‹è¾¼ã¿ãƒ•ラグå¼(?m)を使用ã—ã¦æœ‰åйã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

      関連項目:
    • LITERAL

      public static final int LITERAL
      パターンã®ãƒªãƒ†ãƒ©ãƒ«æ§‹æ–‡è§£æžã‚’有効ã«ã—ã¾ã™ã€‚

      ã“ã®ãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã‚‹å ´åˆã€ãƒ‘ターンを指定ã™ã‚‹å…¥åŠ›æ–‡å­—åˆ—ã¯ã€ãƒªãƒ†ãƒ©ãƒ«æ–‡å­—ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã¨ã—ã¦å‡¦ç†ã•れã¾ã™ã€‚ 入力シーケンス内ã®ãƒ¡ã‚¿ã‚­ãƒ£ãƒ©ã‚¯ã‚¿ã¾ãŸã¯ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—・シーケンスã«ã€ç‰¹åˆ¥ãªæ„味ã¯ã‚りã¾ã›ã‚“。

      CASE_INSENSITIVEãŠã‚ˆã³UNICODE_CASEフラグをã“ã®ãƒ•ラグã¨ã¨ã‚‚ã«ä½¿ç”¨ã™ã‚‹ã¨ã€ãƒžãƒƒãƒãƒ³ã‚°ã«å¯¾ã™ã‚‹å½±éŸ¿ãŒç¶­æŒã•れã¾ã™ã€‚ ã»ã‹ã®ãƒ•ラグã¯ä¸è¦ã«ãªã‚Šã¾ã™ã€‚

      リテラル構文解æžã‚’有効ã«ã™ã‚‹ãŸã‚ã®åŸ‹è¾¼ã¿ãƒ•ラグ文字ã¯ã‚りã¾ã›ã‚“。

      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.5
      関連項目:
    • DOTALL

      public static final int DOTALL
      DOTALLモードを有効ã«ã—ã¾ã™ã€‚

      dotallモードã§ã¯ã€å¼.ã¯ã€è¡Œã®çµ‚了文字をå«ã‚€ä»»æ„ã®æ–‡å­—ã«ä¸€è‡´ã—ã¾ã™ã€‚ デフォルトã§ã¯ã€ã“ã®è¡¨ç¾ã¯è¡Œæœ«è¨˜å·ã«ãƒžãƒƒãƒã—ã¾ã›ã‚“。

      Dotallモードã¯ã€åŸ‹è¾¼ã¿ãƒ•ラグå¼(?s)を使用ã—ã¦æœ‰åйã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ (sã¯ã€Perlã§å‘¼ã³å‡ºã•れる"single-line"モードã®ãƒ‹ãƒ¼ãƒ¢ãƒ‹ãƒƒã‚¯ã§ã™ã€‚)

      関連項目:
    • UNICODE_CASE

      public static final int UNICODE_CASE
      Unicodeã«æº–æ‹ ã—ãŸå¤§æ–‡å­—ã¨å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ã‚’有効ã«ã—ã¾ã™ã€‚

      ã“ã®ãƒ•ラグã¨CASE_INSENSITIVEãƒ•ãƒ©ã‚°ã‚’åŒæ™‚ã«æŒ‡å®šã—ãŸå ´åˆã¯ã€Unicodeæ¨™æº–ã«æº–æ‹ ã—ãŸå¤§æ–‡å­—ã¨å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ãŒè¡Œã‚れã¾ã™ã€‚ デフォルトã®å¤§æ–‡å­—ã¨å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ã§ã¯ã€US-ASCIIæ–‡å­—ã‚»ãƒƒãƒˆã®æ–‡å­—ã ã‘ãŒãƒžãƒƒãƒã—ã¾ã™ã€‚

      Unicode対応ã®å ´åˆã®æŠ˜ã‚ŠãŸãŸã¿ã¯ã€åŸ‹è¾¼ã¿ãƒ•ラグå¼(?u)を使用ã—ã¦æœ‰åйã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

      ã“ã®ãƒ•ラグを指定ã™ã‚‹ã¨ã€ãƒ‘フォーマンスãŒä½Žä¸‹ã™ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚

      関連項目:
    • CANON_EQ

      public static final int CANON_EQ
      æ­£è¦ç­‰ä¾¡ã‚’有効ã«ã—ã¾ã™ã€‚

      ã“ã®ãƒ•ラグを指定ã—ãŸã¨ãã¯ã€2ã¤ã®æ–‡å­—ã®å®Œå…¨ãªæ­£è¦åˆ†è§£ãŒãƒžãƒƒãƒã—ãŸå ´åˆã«é™ã‚Šã€ãã‚Œã‚‰ã®æ–‡å­—ãŒãƒžãƒƒãƒã™ã‚‹ã¨ã¿ãªã•れã¾ã™ã€‚ ãŸã¨ãˆã°ã€å¼"a\u030A"ã¯ã€ã“ã®ãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã‚‹å ´åˆã€æ–‡å­—列"\u00E5"ã«ä¸€è‡´ã—ã¾ã™ã€‚ デフォルトã®ãƒžãƒƒãƒãƒ³ã‚°ã§ã¯ã€æ­£è¦ç­‰ä¾¡ãŒè€ƒæ…®ã•れã¾ã›ã‚“。

      æ­£è¦ç­‰ä¾¡ã‚’有効ã«ã™ã‚‹ãŸã‚ã®åŸ‹è¾¼ã¿ãƒ•ラグ文字ã¯ã‚りã¾ã›ã‚“。

      ã“ã®ãƒ•ラグを指定ã™ã‚‹ã¨ã€ãƒ‘フォーマンスãŒä½Žä¸‹ã—ã€ãƒ¡ãƒ¢ãƒªãƒ¼ä¸è¶³ã®ä¸­ç¨‹åº¦ã®ãƒªã‚¹ã‚¯ãŒç”Ÿã˜ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚

      関連項目:
    • UNICODE_CHARACTER_CLASS

      public static final int UNICODE_CHARACTER_CLASS
      定義済ã¿ã®æ–‡å­—クラスã¨POSIX文字クラスã®Unicodeãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’使用å¯èƒ½ã«ã—ã¾ã™ã€‚

      ã“ã®ãƒ•ãƒ©ã‚°ãŒæŒ‡å®šã•れã¦ã„ã‚‹å ´åˆã€(US-ASCIIã®ã¿) 「事å‰å®šç¾©æ¸ˆã®æ–‡å­—クラスã€ãŠã‚ˆã³ã€ŒPOSIX文字クラスã€ã¯ã€ŒUnicodeテクニカル標準 #18: Unicodeæ­£è¦è¡¨ç¾ã€ 「Annex C: äº’æ›æ€§ãƒ—ロパティã€ã«æº–æ‹ ã—ã¦ã„ã¾ã™ã€‚

      UNICODE_CHARACTER_CLASSモードã¯ã€åŸ‹è¾¼ã¿ãƒ•ラグå¼(?U)を使用ã—ã¦æœ‰åйã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

      フラグã¯UNICODE_CASEã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚ã¤ã¾ã‚Šã€Unicodeã«æº–æ‹ ã—ãŸå¤§æ–‡å­—ã¨å°æ–‡å­—を区別ã—ãªã„マッãƒãƒ³ã‚°ã‚’有効ã«ã—ã¾ã™ã€‚

      ã“ã®ãƒ•ラグを指定ã™ã‚‹ã¨ã€ãƒ‘フォーマンスãŒä½Žä¸‹ã™ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚

      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.7
      外部仕様
      関連項目:
  • メソッドã®è©³ç´°

    • compile

      public static Pattern compile(String regex)
      指定ã•ã‚ŒãŸæ­£è¦è¡¨ç¾ã‚’パターンã«ã‚³ãƒ³ãƒ‘イルã—ã¾ã™ã€‚
      パラメータ:
      regex - コンパイルã•れる表ç¾
      戻り値:
      パターンã«ã‚³ãƒ³ãƒ‘イルã™ã‚‹æŒ‡å®šã•ã‚ŒãŸæ­£è¦è¡¨ç¾
      スロー:
      PatternSyntaxException - 表ç¾ã®æ§‹æ–‡ãŒç„¡åйã§ã‚ã‚‹å ´åˆ
    • compile

      public static Pattern compile(String regex, int flags)
      指定ã•れãŸãƒ•ラグを使用ã—ã¦ã€æŒ‡å®šã•ã‚ŒãŸæ­£è¦è¡¨ç¾ã‚’パターンã«ã‚³ãƒ³ãƒ‘イルã—ã¾ã™ã€‚

      フラグã«CANON_EQを設定ã™ã‚‹ã¨ã€ãƒ¡ãƒ¢ãƒªãƒ¼ä¸è¶³ã®ä¸­ç¨‹åº¦ã®ãƒªã‚¹ã‚¯ãŒç”Ÿã˜ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚

      実装上ã®ãƒŽãƒ¼ãƒˆ:
      CANON_EQãŒæŒ‡å®šã•れã€ä»»æ„ã®æ–‡å­—ã®çµåˆãƒžãƒ¼ã‚¯ã®æ•°ãŒå¤§ãã™ãŽã‚‹å ´åˆã€OutOfMemoryErrorãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      パラメータ:
      regex - コンパイルã•れる表ç¾
      flags - マッãƒãƒ»ãƒ•ラグ。CASE_INSENSITIVEã€MULTILINEã€DOTALLã€UNICODE_CASEã€CANON_EQ, UNIX_LINESã€LITERALã€UNICODE_CHARACTER_CLASSã€ãŠã‚ˆã³COMMENTSã‚’å«ã‚ã‚‹ã“ã¨ãŒã§ãるビット・マスク
      戻り値:
      指定ã•れãŸãƒ•ラグを使用ã—ã¦ã€ãƒ‘ターンã«ã‚³ãƒ³ãƒ‘イルã™ã‚‹æŒ‡å®šã•ã‚ŒãŸæ­£è¦è¡¨ç¾
      スロー:
      IllegalArgumentException - 定義ã•れãŸä¸€è‡´ãƒ•ラグã«å¯¾å¿œã™ã‚‹ãƒ“ット値以外ã®ãƒ“ット値ãŒflagsã«è¨­å®šã•れã¦ã„ã‚‹å ´åˆ
      PatternSyntaxException - 表ç¾ã®æ§‹æ–‡ãŒç„¡åйã§ã‚ã‚‹å ´åˆ
    • pattern

      public String pattern()
      ã“ã®ãƒ‘ターンã®ã‚³ãƒ³ãƒ‘ã‚¤ãƒ«å…ƒã®æ­£è¦è¡¨ç¾ã‚’è¿”ã—ã¾ã™ã€‚
      戻り値:
      ã“ã®ãƒ‘ターンã®ã‚³ãƒ³ãƒ‘イル元
    • toString

      public String toString()

      ã“ã®ãƒ‘ã‚¿ãƒ¼ãƒ³ã®æ–‡å­—列表ç¾ã‚’è¿”ã—ã¾ã™ã€‚ ã“れã¯ã€ã“ã®ãƒ‘ターンã®ã‚³ãƒ³ãƒ‘ã‚¤ãƒ«å…ƒã®æ­£è¦è¡¨ç¾ã§ã™ã€‚

      オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
      toStringã€ã‚¯ãƒ©ã‚¹Object
      戻り値:
      ã“ã®ãƒ‘ã‚¿ãƒ¼ãƒ³ã®æ–‡å­—列表ç¾
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.5
    • matcher

      public Matcher matcher(CharSequence input)
      指定ã•れãŸå…¥åŠ›ã¨ã“ã®ãƒ‘ターンをマッãƒã™ã‚‹ãƒžãƒƒãƒãƒ£ã‚’作æˆã—ã¾ã™ã€‚
      実装上ã®ãƒŽãƒ¼ãƒˆ:
      PatternãŒç›´åˆ—化復元ã•れるã¨ã€ã‚³ãƒ³ãƒ‘イルã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®ç›´æŽ¥ã¾ãŸã¯é–“接的ãªèµ·å‹•ã¾ã§é…å»¶ã•れã¾ã™ã€‚ ã—ãŸãŒã£ã¦ã€ç›´åˆ—化復元ã•れãŸãƒ‘ターンã®ãƒ•ラグã®é–“ã«CANON_EQãŒã‚りã€ä»»æ„ã®æ–‡å­—ã®çµåˆãƒžãƒ¼ã‚¯ã®æ•°ãŒå¤§ãã™ãŽã‚‹å ´åˆã€compile(String, int)ã®ã‚ˆã†ã«OutOfMemoryErrorãŒã‚¹ãƒ­ãƒ¼ã•れã¾ã™ã€‚
      パラメータ:
      input - マッãƒã•れる文字シーケンス
      戻り値:
      ã“ã®ãƒ‘ã‚¿ãƒ¼ãƒ³ã®æ–°ã—ã„マッãƒãƒ£
    • flags

      public int flags()
      ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒãƒ»ãƒ•ラグを返ã—ã¾ã™ã€‚
      戻り値:
      ã“ã®ãƒ‘ターンãŒã‚³ãƒ³ãƒ‘イルã•れãŸã¨ãã«æŒ‡å®šã•れãŸãƒžãƒƒãƒãƒ»ãƒ•ラグ
    • matches

      public static boolean matches(String regex, CharSequence input)
      指定ã•ã‚ŒãŸæ­£è¦è¡¨ç¾ã‚’コンパイルã—ã¦ã€æŒ‡å®šã•れãŸå…¥åŠ›ã¨ãã®æ­£è¦è¡¨ç¾ã‚’マッãƒã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’次ã®å½¢å¼ã§å‘¼ã³å‡ºã™ã¨ã€ä¸Šè¨˜ã®å‹•作ãŒè¡Œã‚れã¾ã™ã€‚

       Pattern.matches(regex, input);
      上記ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€æ¬¡ã®è¡¨ç¾ã¨åŒæ§˜ã«å‹•作ã—ã¾ã™ã€‚
       Pattern.compile(regex).matcher(input).matches()

      パターンを繰返ã—使用ã™ã‚‹å ´åˆã¯ã€ãã®ãƒ‘ターンをコンパイルã—ã¦å†åˆ©ç”¨ã—ãŸæ–¹ãŒã€æ¯Žå›žã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã‚ˆã‚Šã‚‚効率的ã§ã™ã€‚

      パラメータ:
      regex - コンパイルã•れる表ç¾
      input - マッãƒã•れる文字シーケンス
      戻り値:
      å…¥åŠ›ã§æ­£è¦è¡¨ç¾ãŒãƒžãƒƒãƒã—ã¦ã„ã‚‹ã‹ã©ã†ã‹
      スロー:
      PatternSyntaxException - 表ç¾ã®æ§‹æ–‡ãŒç„¡åйã§ã‚ã‚‹å ´åˆ
    • split

      public String[] split(CharSequence input, int limit)
      ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒã«åŸºã¥ã„ã¦ã€æŒ‡å®šã•れãŸå…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’åˆ†å‰²ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‹ã‚‰è¿”ã•れるé…列ã¯ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®éƒ¨åˆ†æ–‡å­—åˆ—ã§æ§‹æˆã•れã¾ã™ã€‚ã“れらã®éƒ¨åˆ†æ–‡å­—列ã¯ã€ã“ã®ãƒ‘ターンã¨ãƒžãƒƒãƒã™ã‚‹åˆ¥ã®éƒ¨åˆ†ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã«ã‚ˆã£ã¦åˆ†å‰²ã•ã‚ŒãŸæ–‡å­—列ã‹ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®çµ‚了ã«ã‚ˆã£ã¦åˆ†å‰²ã•ã‚ŒãŸæ–‡å­—列ã§ã™ã€‚ é…列内ã®éƒ¨åˆ†æ–‡å­—列ã¯ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹å†…ã§ç™ºç”Ÿã—ãŸé †ç•ªã«ä¸¦ã‚“ã§ã„ã¾ã™ã€‚ ã“ã®ãƒ‘ターンãŒå…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®éƒ¨åˆ†ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã«ãƒžãƒƒãƒã—ãªã„å ´åˆã€çµæžœã¨ã—ã¦å¾—られるé…列㯠1 ã¤ã®è¦ç´ ã€ã¤ã¾ã‚Šæ–‡å­—列形å¼ã®å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã ã‘ã§æ§‹æˆã•れã¾ã™ã€‚

      入力シーケンスã®å…ˆé ­ã«ã€æ­£ã®å¹…ã®ãƒžãƒƒãƒãŒã‚ã‚‹å ´åˆã€çµæžœã®é…列ã®å…ˆé ­ã«ã€ç©ºã®å…ˆé ­éƒ¨åˆ†æ–‡å­—列ãŒå«ã¾ã‚Œã¾ã™ã€‚ 先頭ã®ã‚¼ãƒ­ã®å¹…ã®ä¸€è‡´ã§ã¯ã€ãã®ã‚ˆã†ãªç©ºã®å…ˆé ­ã®éƒ¨åˆ†æ–‡å­—列ã¯ç”Ÿæˆã•れã¾ã›ã‚“。

      limitパラメータã¯ã€ã“ã®ãƒ‘ターンã®é©ç”¨å›žæ•°ã‚’制御ã™ã‚‹ãŸã‚ã€çµæžœã¨ãªã‚‹é…列ã®é•·ã•ã«å½±éŸ¿ã‚’åŠã¼ã—ã¾ã™ã€‚

      • limitãŒæ­£ã®å ´åˆã€ãƒ‘ã‚¿ãƒ¼ãƒ³ã¯æœ€å¤§limit-1回é©ç”¨ã•れã€é…列ã®é•·ã•ãŒlimitã‚’è¶…ãˆã‚‹ã“ã¨ã¯ãªãã€æœ€å¾Œã«ä¸€è‡´ã—ãŸãƒ‡ãƒªãƒŸã‚¿ã‚’è¶…ãˆã‚‹ã™ã¹ã¦ã®å…¥åŠ›ãŒé…åˆ—ã®æœ€å¾Œã®ã‚¨ãƒ³ãƒˆãƒªã«å«ã¾ã‚Œã¾ã™ã€‚

      • limitãŒã‚¼ãƒ­ã®å ´åˆã€ãƒ‘ターンã¯å¯èƒ½ãªã‹ãŽã‚Šä½•度もé©ç”¨ã•れã€é…列ã«ã¯ä»»æ„ã®é•·ã•を指定ã§ãã€å¾Œç¶šã®ç©ºã®æ–‡å­—列ã¯ç ´æ£„ã•れã¾ã™ã€‚

      • limitãŒè² ã®å ´åˆã€ãƒ‘ターンã¯å¯èƒ½ãªã‹ãŽã‚Šé©ç”¨ã•れã€é…列ã®é•·ã•ã¯ä»»æ„ã«ãªã‚Šã¾ã™ã€‚

      ãŸã¨ãˆã°ã€å…¥åŠ›"boo:and:foo"ã¯ã€æ¬¡ã®ãƒ‘ラメータを使用ã—ã¦çµæžœã‚’生æˆã—ã¾ã™:

      æ­£è¦è¡¨ç¾ã€åˆ¶é™ã€ãŠã‚ˆã³çµæžœã‚’示ã™åˆ†å‰²ã®ä¾‹
      æ­£è¦è¡¨ç¾ åˆ¶é™ Result
      : 2 { "boo", "and:foo" }
      5 { "boo", "and", "foo" }
      -2 { "boo", "and", "foo" }
      o 5 { "b", "", ":and:f", "", "" }
      -2 { "b", "", ":and:f", "", "" }
      0 { "b", "", ":and:f" }

      パラメータ:
      input - 分割ã•れる文字シーケンス
      limit - çµæžœã®ã—ãã„値(上記ã®ã¨ãŠã‚Š)
      戻り値:
      ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒã®ä¸¡ç«¯ã§å…¥åŠ›ã‚’åˆ†å‰²ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦è¨ˆç®—ã•ã‚ŒãŸæ–‡å­—列ã®é…列
    • splitWithDelimiters

      public String[] splitWithDelimiters(CharSequence input, int limit)
      ã“ã®ãƒ‘ターンã®ä¸€è‡´ã‚’囲む入力シーケンスを分割ã—ã€æ–‡å­—列ã¨ä¸€è‡´ã™ã‚‹ãƒ‡ãƒªãƒŸã‚¿ã®ä¸¡æ–¹ã‚’è¿”ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‹ã‚‰è¿”ã•れるé…列ã¯ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®éƒ¨åˆ†æ–‡å­—åˆ—ã§æ§‹æˆã•れã¾ã™ã€‚ã“れらã®éƒ¨åˆ†æ–‡å­—列ã¯ã€ã“ã®ãƒ‘ターンã¨ãƒžãƒƒãƒã™ã‚‹åˆ¥ã®éƒ¨åˆ†ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã«ã‚ˆã£ã¦åˆ†å‰²ã•ã‚ŒãŸæ–‡å­—列ã‹ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®çµ‚了ã«ã‚ˆã£ã¦åˆ†å‰²ã•ã‚ŒãŸæ–‡å­—列ã§ã™ã€‚ å„部分文字列ã®ç›´å¾Œã«ã€ã“ã®ãƒ‘ターンã«ä¸€è‡´ã™ã‚‹éƒ¨åˆ†åˆ—(デリミタ)ãŒç¶šãã€æœ€å¾Œã®éƒ¨åˆ†æ–‡å­—列を「除ãã€ã€ãã®å¾Œã«ä½•ã‚‚ç¶šã„ã¦ã„ã¾ã›ã‚“。 é…列内ã®éƒ¨åˆ†æ–‡å­—列ã¨åŒºåˆ‡ã‚Šæ–‡å­—ã¯ã€å…¥åŠ›ã§ã®å‡ºç¾é †åºã«ãªã‚Šã¾ã™ã€‚ ã“ã®ãƒ‘ターンãŒå…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®éƒ¨åˆ†ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã«ãƒžãƒƒãƒã—ãªã„å ´åˆã€çµæžœã¨ã—ã¦å¾—られるé…列㯠1 ã¤ã®è¦ç´ ã€ã¤ã¾ã‚Šæ–‡å­—列形å¼ã®å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã ã‘ã§æ§‹æˆã•れã¾ã™ã€‚

      入力シーケンスã®å…ˆé ­ã«ã€æ­£ã®å¹…ã®ãƒžãƒƒãƒãŒã‚ã‚‹å ´åˆã€çµæžœã®é…列ã®å…ˆé ­ã«ã€ç©ºã®å…ˆé ­éƒ¨åˆ†æ–‡å­—列ãŒå«ã¾ã‚Œã¾ã™ã€‚ 最åˆã«ã‚¼ãƒ­å¹…ãŒä¸€è‡´ã—ã¦ã‚‚ã€ãã®ã‚ˆã†ãªç©ºã®å…ˆé ­éƒ¨åˆ†æ–‡å­—列や空ã®åŒºåˆ‡ã‚Šæ–‡å­—ã¯ç”Ÿæˆã•れã¾ã›ã‚“。

      limitパラメータã¯ã€ã“ã®ãƒ‘ターンã®é©ç”¨å›žæ•°ã‚’制御ã™ã‚‹ãŸã‚ã€çµæžœã¨ãªã‚‹é…列ã®é•·ã•ã«å½±éŸ¿ã‚’åŠã¼ã—ã¾ã™ã€‚

      • limitãŒæ­£ã®å ´åˆã€ãƒ‘ã‚¿ãƒ¼ãƒ³ã¯æœ€å¤§limit - 1回é©ç”¨ã•れã€é…列ã®é•·ã•ã¯2×limit - 1よりも大ãããªã‚‰ãšã€é…åˆ—ã®æœ€å¾Œã®ã‚¨ãƒ³ãƒˆãƒªã«ã¯ã€æœ€å¾Œã«ä¸€è‡´ã—ãŸãƒ‡ãƒªãƒŸã‚¿ã‚’è¶…ãˆã‚‹ã™ã¹ã¦ã®å…¥åŠ›ãŒå«ã¾ã‚Œã¾ã™ã€‚
      • limitãŒã‚¼ãƒ­ã®å ´åˆã€ãƒ‘ターンã¯å¯èƒ½ãªã‹ãŽã‚Šä½•度もé©ç”¨ã•れã€é…列ã«ã¯ä»»æ„ã®é•·ã•を指定ã§ãã€å¾Œç¶šã®ç©ºã®æ–‡å­—列(部分文字列ã¾ãŸã¯ãƒ‡ãƒªãƒŸã‚¿)ã¯ç ´æ£„ã•れã¾ã™ã€‚
      • limitãŒè² ã®å ´åˆã€ãƒ‘ターンã¯å¯èƒ½ãªã‹ãŽã‚Šé©ç”¨ã•れã€é…列ã®é•·ã•ã¯ä»»æ„ã«ãªã‚Šã¾ã™ã€‚

      ãŸã¨ãˆã°ã€å…¥åŠ›"boo:::and::foo"ã¯ã€æ¬¡ã®ãƒ‘ラメータを使用ã—ã¦çµæžœã‚’生æˆã—ã¾ã™:

      æ­£è¦è¡¨ç¾ã€åˆ¶é™ã€ãŠã‚ˆã³çµæžœã‚’示ã™åˆ†å‰²ã®ä¾‹
      æ­£è¦è¡¨ç¾ åˆ¶é™ Result
      :+ 2 { "boo", ":::", "and::foo" }
      5 { "boo", ":::", "and", "::", "foo" }
      -1 { "boo", ":::", "and", "::", "foo" }
      o 5 { "b", "o", "", "o", ":::and::f", "o", "", "o", "" }
      -1 { "b", "o", "", "o", ":::and::f", "o", "", "o", "" }
      0 { "b", "o", "", "o", ":::and::f", "o", "", "o" }

      パラメータ:
      input - 分割ã•れる文字シーケンス
      limit - çµæžœã®ã—ãã„値(上記ã®ã¨ãŠã‚Š)
      戻り値:
      ã“ã®ãƒ‘ターンã®ä¸€è‡´ã®å‰å¾Œã«å…¥åŠ›ã‚’åˆ†å‰²ã—ã¦è¨ˆç®—ã•れる文字列ã®é…列ã€ç½®æ›éƒ¨åˆ†æ–‡å­—列ãŠã‚ˆã³ä¸€è‡´ã™ã‚‹åŒºåˆ‡ã‚Šæ–‡å­—
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      21
    • split

      public String[] split(CharSequence input)
      ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒã«åŸºã¥ã„ã¦ã€æŒ‡å®šã•れãŸå…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’åˆ†å‰²ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®å‹•作ã¯ã€2ã¤ã®å¼•æ•°ã‚’å–ã‚‹splitãƒ¡ã‚½ãƒƒãƒ‰ã‚’ã€æŒ‡å®šã•れãŸå…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã¨ã‚¼ãƒ­ã®åˆ¶é™å¼•数を指定ã—ã¦å‘¼ã³å‡ºã—ãŸå ´åˆã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚ ã¤ã¾ã‚Šã€çµæžœã¨ã—ã¦å¾—られるé…列ã«ã¯å¾Œç¶šã®ç©ºã®æ–‡å­—列ã¯å«ã¾ã‚Œã¾ã›ã‚“。

      ãŸã¨ãˆã°ã€å…¥åŠ›"boo:and:foo"ã¯ã€æ¬¡ã®å¼ã§æ¬¡ã®çµæžœã‚’生æˆã—ã¾ã™:

      æ­£è¦è¡¨ç¾ã¨çµæžœã‚’示ã™åˆ†å‰²ã®ä¾‹
      æ­£è¦è¡¨ç¾ Result
      : { "boo", "and", "foo" }
      o { "b", "", ":and:f" }

      パラメータ:
      input - 分割ã•れる文字シーケンス
      戻り値:
      ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒã®ä¸¡ç«¯ã§å…¥åŠ›ã‚’åˆ†å‰²ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦è¨ˆç®—ã•ã‚ŒãŸæ–‡å­—列ã®é…列
    • quote

      public static String quote(String s)
      指定ã•れãŸStringã®ãƒªãƒ†ãƒ©ãƒ«ãƒ»ãƒ‘ターンStringã‚’è¿”ã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ãƒªãƒ†ãƒ©ãƒ«ãƒ»ãƒ‘ターンã§ã‚ã‚‹ã‹ã®ã‚ˆã†ã«æ–‡å­—列sã«ãƒžãƒƒãƒã™ã‚‹Patternã®ä½œæˆã«ä½¿ç”¨å¯èƒ½ãªStringを生æˆã—ã¾ã™ã€‚

      入力シーケンス内ã®ãƒ¡ã‚¿ã‚­ãƒ£ãƒ©ã‚¯ã‚¿ã¾ãŸã¯ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—・シーケンスã«ã€ç‰¹åˆ¥ãªæ„味ã¯ã‚りã¾ã›ã‚“。
      パラメータ:
      s - リテラル化ã™ã‚‹æ–‡å­—列
      戻り値:
      リテラル文字列置æ›
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.5
    • namedGroups

      public Map<String,Integer> namedGroups()
      キャプãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—åã‹ã‚‰ã‚°ãƒ«ãƒ¼ãƒ—番å·ã¸ã®å¤‰æ›´ä¸å¯èƒ½ãªãƒžãƒƒãƒ—ã‚’è¿”ã—ã¾ã™ã€‚ åå‰ä»˜ãグループãŒãªã„å ´åˆã¯ã€ç©ºã®ãƒžãƒƒãƒ—ã‚’è¿”ã—ã¾ã™ã€‚
      戻り値:
      キャプãƒãƒ£ãƒªãƒ³ã‚°ãƒ»ã‚°ãƒ«ãƒ¼ãƒ—åã‹ã‚‰ã‚°ãƒ«ãƒ¼ãƒ—番å·ã¸ã®å¤‰æ›´ä¸å¯èƒ½ãªãƒžãƒƒãƒ—
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      20
    • asPredicate

      public Predicate<String> asPredicate()
      指定ã•れãŸå…¥åŠ›æ–‡å­—åˆ—ã§ã“ã®ãƒ‘ã‚¿ãƒ¼ãƒ³ãŒæ¤œå‡ºã•れãŸã‹ã©ã†ã‹ã‚’テストã™ã‚‹è¿°èªžã‚’作æˆã—ã¾ã™ã€‚
      APIã®ãƒŽãƒ¼ãƒˆ:
      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‹ã‚‰ãƒžãƒƒãƒãƒ£ã‚’作æˆã—ãŸå ´åˆã®ã‚ˆã†ã«å‹•作ã™ã‚‹è¿°èªžã‚’作æˆã—ã€æ¬¡ã®ã‚ˆã†ãªãƒ•ォームã®è¿°èªžã®ã‚ˆã†ã«findを呼ã³å‡ºã—ã¾ã™ã€‚
      
         s -> matcher(s).find();
       
      戻り値:
      文字列ã®ã‚µãƒ–・シーケンスã®ä¸€è‡´ã‚’検索ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã§ãる述語。
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.8
      関連項目:
    • asMatchPredicate

      public Predicate<String> asMatchPredicate()
      ã“ã®ãƒ‘ã‚¿ãƒ¼ãƒ³ãŒæŒ‡å®šã•れãŸå…¥åŠ›æ–‡å­—åˆ—ã¨ä¸€è‡´ã™ã‚‹ã‹ã©ã†ã‹ã‚’テストã™ã‚‹è¿°èªžã‚’作æˆã—ã¾ã™ã€‚
      APIã®ãƒŽãƒ¼ãƒˆ:
      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‹ã‚‰ãƒžãƒƒãƒãƒ£ã‚’作æˆã—ãŸå ´åˆã®ã‚ˆã†ã«å‹•作ã™ã‚‹è¿°èªžã‚’作æˆã—ã€æ¬¡ã®ã‚ˆã†ãªãƒ•ォームã®è¿°èªžã®ã‚ˆã†ã«matchesを呼ã³å‡ºã—ã¾ã™ã€‚
      
         s -> matcher(s).matches();
       
      戻り値:
      入力文字列をã“ã®ãƒ‘ターンã¨ç…§åˆã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã§ãる述語。
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      11
      関連項目:
    • splitAsStream

      public Stream<String> splitAsStream(CharSequence input)
      ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒã«åŸºã¥ã„ã¦ã€æŒ‡å®šã•れãŸå…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‹ã‚‰ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’作æˆã—ã¾ã™ã€‚

      ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‹ã‚‰è¿”ã•れるストリームã¯ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®å„éƒ¨åˆ†æ–‡å­—åˆ—ã§æ§‹æˆã•れã¾ã™ã€‚ã“れらã®éƒ¨åˆ†æ–‡å­—列ã¯ã€ã“ã®ãƒ‘ターンã¨ãƒžãƒƒãƒã™ã‚‹åˆ¥ã®éƒ¨åˆ†ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã«ã‚ˆã£ã¦çµ‚了ã—ãŸæ–‡å­—列ã‹ã€å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®æœ«å°¾ã«ã‚ˆã£ã¦çµ‚了ã—ãŸæ–‡å­—列ã§ã™ã€‚ ストリーム内ã®éƒ¨åˆ†æ–‡å­—列ã¯ã€å…¥åЛ内ã§ç™ºç”Ÿã—ãŸé †ç•ªã«ä¸¦ã‚“ã§ã„ã¾ã™ã€‚ 末尾ã®ç©ºã®æ–‡å­—列ã¯ç ´æ£„ã•れã€ã‚¹ãƒˆãƒªãƒ¼ãƒ å†…ã§æ¤œå‡ºã•れã¾ã›ã‚“。

      ã“ã®ãƒ‘ターンãŒå…¥åŠ›ã®éƒ¨åˆ†ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã«ãƒžãƒƒãƒã—ãªã„å ´åˆã€çµæžœã¨ã—ã¦å¾—られるストリーム㯠1 ã¤ã®è¦ç´ ã€ã¤ã¾ã‚Šæ–‡å­—列形å¼ã®å…¥åŠ›ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã ã‘ã§æ§‹æˆã•れã¾ã™ã€‚

      入力シーケンスã®å…ˆé ­ã«ã€æ­£ã®å¹…ã®ãƒžãƒƒãƒãŒã‚ã‚‹å ´åˆã€ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®å…ˆé ­ã«ã€ç©ºã®å…ˆé ­éƒ¨åˆ†æ–‡å­—列ãŒå«ã¾ã‚Œã¾ã™ã€‚ 先頭ã®ã‚¼ãƒ­ã®å¹…ã®ä¸€è‡´ã§ã¯ã€ãã®ã‚ˆã†ãªç©ºã®å…ˆé ­ã®éƒ¨åˆ†æ–‡å­—列ã¯ç”Ÿæˆã•れã¾ã›ã‚“。

      入力シーケンスãŒå¯å¤‰ã§ã‚ã‚‹å ´åˆã€ç«¯æœ«ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ æ“作ã®å®Ÿè¡Œæ™‚ã«ä¸€å®šã«ä¿ãŸã‚Œã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ ãã†ã—ãªã„å ´åˆã€ã‚¹ãƒˆãƒªãƒ¼ãƒ çµ‚端æ“作ã®çµæžœã¯ä¿è¨¼ã•れã¾ã›ã‚“。

      パラメータ:
      input - 分割ã•れる文字シーケンス
      戻り値:
      ã“ã®ãƒ‘ターンã®ãƒžãƒƒãƒã®ä¸¡ç«¯ã§å…¥åŠ›ã‚’åˆ†å‰²ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦è¨ˆç®—ã•ã‚ŒãŸæ–‡å­—列ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ 
      å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
      1.8
      関連項目: