Java正規表現の練習

1996 ワード

1.メールアドレスをチェックします.
2.次の文字列を、プログラミングを学びます.
私は...私は...私は...私は...私は...学...学...学...学...编编...プログラミング..程.程...程...程
3.192.68.1.254 102.49.23.013 10.10.10.10.10.10.10.10.10.10.2.2.2 8.109.93.30 ipアドレスをアドレスセグメント順に並べ替えます.
import java.util.*;
class RegexTest 
{
	public static void main(String[] args) 
	{
//		test_1();
//		ipSort();

		checkMail();
	}

	/*
	  :         。

	*/
	public static void checkMail()
	{
		String mail = "[email protected]";

		mail = "[email protected]";

		String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";//       。
		reg = "\\w+@\\w+(\\.\\w+)+";//         。

		//mail.indexOf("@")!=-1
		System.out.println(mail.matches(reg));
	}

	/*
	  :
	        :     .
	
	             ?      ?
	    :
	1,              ,    。
	2,                 ,  。
	3,                    。  。         。
	4,              ,  。         。
	*/
	public static void test_1()
	{
		String str = "  ...  ...  ..  ...  ...   ....  ...   ...  .. .  ... ... ";
		/*
		              。      。
		1,     .   。
		2,               。
		*/
		str = str.replaceAll("\\.+","");
		System.out.println(str);
		str = str.replaceAll("(.)\\1+","$1");		
		System.out.println(str);
	}
	/*
	192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30
	 ip            。

	          ,          3   。
	1,           0    ,            3 。
	2,       3 。     ip       3 。
	*/
	public static void ipSort()
	{
		String ip = "192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30";

		ip = ip.replaceAll("(\\d+)","00$1");
		System.out.println(ip);

		ip = ip.replaceAll("0*(\\d{3})","$1");
		System.out.println(ip);

		String[] arr = ip.split(" ");

		TreeSet<String> ts = new TreeSet<String>();

		for(String s : arr)
		{
			ts.add(s);
		}

		for(String s : ts)
		{
			System.out.println(s.replaceAll("0*(\\d+)","$1"));
		}
	}
}

——『毕向東25日』より