基本的な文法
1.選択
|縦棒記号は選択(つまり、和集合)を表し、優先順位が最も低くなります。たとえば、「aaa | bbb」はaaaまたはbbbと一致します。
2.数量限定
文字の後の数量修飾子は、前の文字で許可される文字数を制限するために使用されます。
最も一般的な数量修飾子には、「+」、「?」、および「*」が含まれます(数量が指定されていない場合は、1回だけ表示されます)。
(1)+記号は、先行する文字が少なくとも1回出現する必要があることを意味します。(1回以上)。
たとえば、「goo + gle」は、google、gooogle、goooogleなどと一致できます。
(2)?疑問符は、先行する文字が最大で1回しか出現できないことを示します。(0回、または1回)。
例:「colou?R」は色または色と一致できます。
(3)*アスタリスクは、先行する文字が表示されないか、1回以上表示されることを示します。(0回、または1回、または複数回)。
たとえば、「0 * 42」は、42、042、0041、00042などと一致できます。
3.表現ルール
(1) ^ 一致する文字列の開始位置
(2) $ は文字列の終了位置に一致します
ケース:
String s1 = "111223abc";
String regex = "^[0-9]+abc$";
boolean b = s1.matches(regex);
System.out.println(b);
(3){n} nは負でない整数です。n回一致
例:o {2}はBobではなく食べ物に一致します。
(4){n、} nは負でない整数です。n回一致
例:[o {2、}]
「Bob」の「o」とは一致しませんが、「foooood」のすべてのoとは一致します。
「o {1、}」は「o +」と同等
「o {0、}」は「o *」と同等です。
(5){n、m} mおよびnは非負の整数で、n <= mです。少なくともn回、最大でm回一致します。
(6)xは文字xを表します
例:一致ルールは"a"で、一致する文字列の内容は "a"です。
(7)[abc] 文字セット。含まれている文字のいずれかに一致します。
例:"[abc]"、一致するコンテンツは文字a、文字b、または文字cのいずれか
ケース:携帯電話番号と一致
/匹配手机号
//长度11位,开头为1,第二个数字是3、7、5、8
String regex4="1[3758][0-9]{9}";
Scanner sc=new Scanner(System.in);
System.out.println("请输入手机号:");
String number=sc.next();
boolean result=number.matches(regex4);
if(result==true)
System.out.println("手机号匹配!");
else
System.out.println("手机号不匹配!");
(8)[^ abc] 除外された文字セット、つまりa 、b またはc を除くすべての文字
(9)[a-zA-Z]は a to z またはA to Z に 一致し、2文字が含まれます
(10) [0-9] は、2桁を含む0 から9 桁に 一致します
(11) [a-zA-Z_0-9]は、文字、数字、またはアンダースコア(つまり、単語文字)に一致します
(12)。(ドット)は、「\ n」を除く任意の1文字と一致します。使用する場合は、一致ルール「\\」を使用してください。
(13)\ d は数字と一致します。[0-9]と同じです。
(14)\ wは 、アンダースコアを含むすべての単語文字に一致します。「[A-Za-z0-9_]」と同等です。
(15)\ b は単語の境界、つまり単語とスペースの間の位置に一致します。
たとえば、「er \ b」は「never」の「er」と一致しますが、「verb」の「er」とは一致しません。
ケース:一致するメールボックス
String regex="[a-zA-Z_0-9]+@[a-zA-Z_0-9]+(\\.[a-zA-Z_0-9]+)+";
System.out.println("[email protected]".matches(regex));