総合開発_正規表現

4487 ワード

使用方法:
public static boolean isMobileNO(String mobiles) {
        
        Pattern p = Pattern.compile("^[1][3578]\\d{9}$"); //    
        Matcher m = p.matcher(mobiles); //  

        return m.matches(); //      ,    m.find()
    }

正規表現の文字解釈:
文字
説明
\
次の文字を特殊文字、またはオリジナル文字、または後方参照、または8進数エスケープとしてマークします.たとえば、「n」は「n」と一致します.改行を一致させます.シーケンス'\'は""に一致し、"("は"(".
^
入力文字列の開始位置を一致させます.RegExpオブジェクトのMultilineプロパティが設定されている場合は、^も'または'r'の後の位置に一致します.
$
入力文字列の終了位置を一致させます.RegExpオブジェクトのMultilineプロパティが設定されている場合は、$も'''または'r'の前の位置に一致します.
*
前のサブエクスプレッションを0回または複数回一致させます.たとえば、zo*は「z」と「zoo」に一致します.*に等しい.
+
前のサブエクスプレッションを1回または複数回一致させます.たとえば、「zo+」は「zo」および「zoo」に一致するが、「z」には一致しない.+に等しい.
?
前のサブエクスプレッションを0回または1回一致させます.例えば、「do(es)?」「do」または「does」の「do」に一致します.?に等しい.
{n}
nは非負の整数である.決定されたn回を一致させる.例えば、「o{2}」は「Bob」の「o」に一致しないが、「food」の2つのoに一致する.
{n,}
nは非負の整数である.少なくともn回マッチングします.例えば,'o{2,}'は「Bob」の'o'に一致しないが,「foooood」のすべてのoに一致する.o{1,}'は'o+'に等しい.o{0,}'は'o*'に等しい.
{n,m}
mおよびnはいずれも非負の整数であり、ここでn<=mである.最小はn回、最大はm回マッチングします.たとえば、「o{1,3}」は「fooooood」の最初の3つのoに一致します.'o{0,1}'は'o?'に等しい.カンマと2つの数の間にスペースがないことに注意してください.
?
この文字が他の任意の制限記号(*,+,?,{n},{n,},{n,{m})の後に続く場合、マッチングモードは欲張りではない.非貪欲モードは、検索された文字列をできるだけ少なくマッチングし、デフォルトの貪欲モードは、検索された文字列をできるだけ多くマッチングします.たとえば、文字列「oooo」に対して、「o+?」単一の「o」が一致し、「o+」がすべての「o」が一致します.
.
「」以外の任意の文字を一致させます.'[.]'を含む任意の文字を一致させるには、'[.]'を使用します.を選択します.
(pattern)
patternをマッチングし、このマッチングを取得します.取得されたマッチングは、生成されたMatchesのセットから取得され、VBScriptではSubMatchesのセットが使用され、Jscriptでは$0...$9のプロパティが使用されます.カッコ文字を一致させるには、'('または')'を使用します.
(?:pattern)
マッチングpatternはマッチング結果を取得しないが、すなわち、これは非取得マッチングであり、後で使用するために記憶されない.これは、「または」文字(|)を使用して、1つのモードの各部分を組み合わせるのに役立ちます.たとえば、「industr(?:y|ies)は、「industry|industries」よりも簡略な式です.
(?=pattern)
順方向の事前調査では、patternに一致する文字列の先頭に検索文字列が一致します.これは非取得マッチングであり、すなわち、後で使用するためにマッチングを取得する必要はない.例えば、「Windows(?=95|98|NT|2000)」は「Windows 2000」の「Windows」と一致するが、「Windows 3.1」の「Windows」と一致しない.プリフェッチは文字を消費しません.つまり、1つのマッチングが発生した後、最後のマッチングの直後に、プリフェッチを含む文字の後ではなく、次のマッチングの検索を開始します.
(?!pattern)
負の事前調査では、patternに一致しない文字列の先頭に検索文字列が一致します.これは非取得マッチングであり、すなわち、後で使用するためにマッチングを取得する必要はない.例えば‘Windows(?!95|98|NT|2000)’は‘Windows 3.1’の‘Windows’と一致するが‘Windows 2000’の‘Windows’と一致しない.プリフェッチは文字を消費しません.つまり、1つのマッチングが発生した後、最後のマッチングの直後に、プリフェッチを含む文字の後ではなく、次のマッチングの検索を開始します.
x|y
xまたはyに一致します.例えば、「z|food」は「z」または「food」に一致する.(z|f)ood'は「zood」または「food」に一致する.
[xyz]
文字セット.含まれる任意の文字を一致させます.例えば、'[abc]'は「plain」の'a'と一致することができる.
[^xyz]
負の文字セット.含まれていない任意の文字を一致させます.例えば、'[^abc]'は「plain」の'p'と一致することができる.
[a-z]
文字範囲.指定した範囲内の任意の文字に一致します.例えば、'[a−z]'は、'a'から'z'の範囲内の任意の小文字文字に一致することができる.
[^a-z]
負の文字範囲.指定した範囲外の任意の文字を一致させます.例えば、'[^a-z]'は、'a'から'z'の範囲内でない任意の文字に一致することができる.
\b
単語の境界を一致させる、つまり単語とスペースの間の位置を指します.たとえば、「erb」は「never」の「er」に一致するが、「verb」の「er」には一致しない.
\B
単語以外の境界を一致させます.'ErB'は「verb」の「er」に一致するが、「never」の「er」には一致しない.
\cx
xで指定された制御文字を一致させます.たとえば、cMはControl-Mまたはリターンキャラクタに一致します.xの値はA-Zまたはa-zのいずれかでなければなりません.そうでなければ、cは元の意味の「c」文字と見なされます.
\d
数値文字を一致させます.[0-9]に等しい.
\D
数値以外の文字を一致させます.[^0-9]に等しい.
\f
改ページを一致させます.x 0 cとcLに等しい.
改行を一致させます.x 0 aとcJに等しい.
\r
リターン記号を一致させます.x 0 dとcMに等しい.
\s
スペース、タブ、改ページなど、空白の文字を一致させます.[frtv]に相当します.
\S
空白以外の文字を一致させます.[^frtv]に相当します.
\t
タブを一致させます.x 09とcIに等しい.
\v
垂直タブに一致します.x 0 bとcKに等しい.
\w
下線を含む任意の単語文字を一致させます.'[A-Za-z 0-9_]'に等価です.
\W
単語以外の文字を一致させます.'[^A-Za-z 0-9_]'に等価です.
\xn
nは、nが16進数のエスケープ値であるnと一致する.16進数エスケープ値は、決定された2つの数値長でなければなりません.たとえば、'x 41'は「A」に一致します.x 041'は'x 04'&“1”に等しい.正規表現ではASCII符号化を用いることができる.
um
numが正の整数であるnumに一致します.取得した一致に対する参照.例えば、'(.)1'は、2つの連続する同じ文字に一致します.
8進数エスケープ値または後方参照を指定します.以前に少なくともn個取得したサブ式の場合、nは後方参照である.そうでなければ、nが8進数(0〜7)の場合、nは8進数エスケープ値である.
m
8進数エスケープ値または後方参照を指定します.mの前に少なくともnm個の得られたサブ式がある場合、nmは後方参照である.mの前に少なくともn個の取得があった場合、nは後続文字mの後方参照である.前の条件が満たされていない場合、nおよびmが共に8進数(0〜7)である場合、mは8進数エスケープ値nmに一致する.
ml
nが8進数(0−3)であり、mおよびlがともに8進数(0−7)である場合、8進数エスケープ値nmlに一致する.
\un
nと一致し、nは4つの16進数で表されるUnicode文字である.たとえば、「A 9」は著作権記号(?)に一致します.